drivers/misc/fsa9480.c: fix a leak of the IRQ during init failure
Make sure we are passing the same cookie in all calls to request_threaded_irq() and free_irq(). Signed-off-by: Axel Lin <axel.lin@gmail.com> Cc: Donggeun Kim <dg77.kim@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c53252b780
commit
b89d5f17d4
1 changed files with 2 additions and 2 deletions
|
@ -455,7 +455,7 @@ static int __devinit fsa9480_probe(struct i2c_client *client,
|
|||
|
||||
fail2:
|
||||
if (client->irq)
|
||||
free_irq(client->irq, NULL);
|
||||
free_irq(client->irq, usbsw);
|
||||
fail1:
|
||||
i2c_set_clientdata(client, NULL);
|
||||
kfree(usbsw);
|
||||
|
@ -466,7 +466,7 @@ static int __devexit fsa9480_remove(struct i2c_client *client)
|
|||
{
|
||||
struct fsa9480_usbsw *usbsw = i2c_get_clientdata(client);
|
||||
if (client->irq)
|
||||
free_irq(client->irq, NULL);
|
||||
free_irq(client->irq, usbsw);
|
||||
i2c_set_clientdata(client, NULL);
|
||||
|
||||
sysfs_remove_group(&client->dev.kobj, &fsa9480_group);
|
||||
|
|
Loading…
Reference in a new issue