Re: [PATCH 001/001] i2c-mpc: fix WARN on module unload

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Tue, Apr 24, 2018 at 10:38:56AM -0400, Steven Seeger wrote:
> From eaa136c301bce589b45f72249ad072c485973cc6 Mon Sep 17 00:00:00 2001
> From: Steven Seeger <steven.seeger@xxxxxxxx>
> Date: Tue, 24 Apr 2018 10:30:34 -0400
> Subject: [PATCH] i2c-mpc: Remove use of of_parse_and_map_irq and

Please make sure you have a one-line subject and then a multi-line
commit message.

>  irq_dispose_mapping since irq handler is shared. This prevents a WARN from
>  procfs upon module removal for removing non-empty directory when more than
>  one instance of i2c-mpc device is in the system.

I think you should limit the patch to just this and skip the
devm_conversion.

> -		result = request_irq(i2c->irq, mpc_i2c_isr,
> +		result = devm_request_irq(&op->dev, i2c->irq, mpc_i2c_isr,
>  				     IRQF_SHARED, "i2c-mpc", i2c);

Because if it is the only devm_ user...

> -	if (i2c->irq)
> -		free_irq(i2c->irq, i2c);
> -
> -	irq_dispose_mapping(i2c->irq);
>  	iounmap(i2c->base);
>  	kfree(i2c);
>  	return 0;

... then it will be freed after this. If an interrupt arrives after the
kfree(), you will likely have an OOPS because everything but the
interrupt is gone by now.

Thanks & regards,

   Wolfram

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux