| From foo@baz Mon Dec 18 15:03:25 CET 2017 |
| From: Suzuki K Poulose <suzuki.poulose@arm.com> |
| Date: Fri, 3 Nov 2017 11:45:18 +0000 |
| Subject: arm-ccn: perf: Prevent module unload while PMU is in use |
| |
| From: Suzuki K Poulose <suzuki.poulose@arm.com> |
| |
| |
| [ Upstream commit c7f5828bf77dcbd61d51f4736c1d5aa35663fbb4 ] |
| |
| When the PMU driver is built as a module, the perf expects the |
| pmu->module to be valid, so that the driver is prevented from |
| being unloaded while it is in use. Fix the CCN pmu driver to |
| fill in this field. |
| |
| Fixes: a33b0daab73a0 ("bus: ARM CCN PMU driver") |
| Cc: Pawel Moll <pawel.moll@arm.com> |
| Cc: Will Deacon <will.deacon@arm.com> |
| Acked-by: Mark Rutland <mark.rutland@arm.com> |
| Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> |
| Signed-off-by: Will Deacon <will.deacon@arm.com> |
| Signed-off-by: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/bus/arm-ccn.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/bus/arm-ccn.c |
| +++ b/drivers/bus/arm-ccn.c |
| @@ -1157,6 +1157,7 @@ static int arm_ccn_pmu_init(struct arm_c |
| |
| /* Perf driver registration */ |
| ccn->dt.pmu = (struct pmu) { |
| + .module = THIS_MODULE, |
| .attr_groups = arm_ccn_pmu_attr_groups, |
| .task_ctx_nr = perf_invalid_context, |
| .event_init = arm_ccn_pmu_event_init, |