pwm: bcm-iproc: prevent unloading the driver module while in use
diff mbox series

Message ID 20191017192218.9042-1-u.kleine-koenig@pengutronix.de
State Accepted
Headers show
Series
  • pwm: bcm-iproc: prevent unloading the driver module while in use
Related show

Commit Message

Uwe Kleine-König Oct. 17, 2019, 7:22 p.m. UTC
The owner member of struct pwm_ops must be set to THIS_MODULE to
increase the reference count of the module such that the module cannot
be removed while its code is in use.

Fixes: daa5abc41c80 ("pwm: Add support for Broadcom iProc PWM controller")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
 drivers/pwm/pwm-bcm-iproc.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Florian Fainelli Oct. 17, 2019, 7:29 p.m. UTC | #1
On 10/17/2019 12:22 PM, Uwe Kleine-König wrote:
> The owner member of struct pwm_ops must be set to THIS_MODULE to
> increase the reference count of the module such that the module cannot
> be removed while its code is in use.
> 
> Fixes: daa5abc41c80 ("pwm: Add support for Broadcom iProc PWM controller")
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Uwe Kleine-König Oct. 24, 2019, 7:36 a.m. UTC | #2
Hello,

On Thu, Oct 17, 2019 at 09:22:18PM +0200, Uwe Kleine-König wrote:
> The owner member of struct pwm_ops must be set to THIS_MODULE to
> increase the reference count of the module such that the module cannot
> be removed while its code is in use.
> 
> Fixes: daa5abc41c80 ("pwm: Add support for Broadcom iProc PWM controller")
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

Assuming you will send another PR to Linus for 5.4 with the revert of
01ccf903edd65f6421612321648fa5a7f4b7cb10 I suggest to add this patch,
too.

Best regards
Uwe

Patch
diff mbox series

diff --git a/drivers/pwm/pwm-bcm-iproc.c b/drivers/pwm/pwm-bcm-iproc.c
index 56c38cfae92c..1f829edd8ee7 100644
--- a/drivers/pwm/pwm-bcm-iproc.c
+++ b/drivers/pwm/pwm-bcm-iproc.c
@@ -187,6 +187,7 @@  static int iproc_pwmc_apply(struct pwm_chip *chip, struct pwm_device *pwm,
 static const struct pwm_ops iproc_pwm_ops = {
 	.apply = iproc_pwmc_apply,
 	.get_state = iproc_pwmc_get_state,
+	.owner = THIS_MODULE,
 };
 
 static int iproc_pwmc_probe(struct platform_device *pdev)