diff options
Diffstat (limited to 'drivers/perf/hisilicon/hns3_pmu.c')
-rw-r--r-- | drivers/perf/hisilicon/hns3_pmu.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/drivers/perf/hisilicon/hns3_pmu.c b/drivers/perf/hisilicon/hns3_pmu.c index 60062eaa34..16869bf5bf 100644 --- a/drivers/perf/hisilicon/hns3_pmu.c +++ b/drivers/perf/hisilicon/hns3_pmu.c @@ -1085,27 +1085,15 @@ static bool hns3_pmu_validate_event_group(struct perf_event *event) return false; for (num = 0; num < counters; num++) { - /* - * If we find a related event, then it's a valid group - * since we don't need to allocate a new counter for it. - */ if (hns3_pmu_cmp_event(event_group[num], sibling)) break; } - /* - * Otherwise it's a new event but if there's no available counter, - * fail the check since we cannot schedule all the events in - * the group simultaneously. - */ - if (num == HNS3_PMU_MAX_HW_EVENTS) - return false; - if (num == counters) event_group[counters++] = sibling; } - return true; + return counters <= HNS3_PMU_MAX_HW_EVENTS; } static u32 hns3_pmu_get_filter_condition(struct perf_event *event) @@ -1527,7 +1515,7 @@ static int hns3_pmu_irq_register(struct pci_dev *pdev, return ret; } - ret = devm_add_action_or_reset(&pdev->dev, hns3_pmu_free_irq, pdev); + ret = devm_add_action(&pdev->dev, hns3_pmu_free_irq, pdev); if (ret) { pci_err(pdev, "failed to add free irq action, ret = %d.\n", ret); return ret; |