drivers/rtc/rtc-ds1307.c: release irq on error
'client->irq' was not released on error. Fix it. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Cc: Jingoo Han <jg1.han@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
10992435b3
commit
50ccf0455e
|
@ -956,7 +956,7 @@ read_rtc:
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!ds1307->nvram) {
|
if (!ds1307->nvram) {
|
||||||
err = -ENOMEM;
|
err = -ENOMEM;
|
||||||
goto exit;
|
goto err_irq;
|
||||||
}
|
}
|
||||||
ds1307->nvram->attr.name = "nvram";
|
ds1307->nvram->attr.name = "nvram";
|
||||||
ds1307->nvram->attr.mode = S_IRUGO | S_IWUSR;
|
ds1307->nvram->attr.mode = S_IRUGO | S_IWUSR;
|
||||||
|
@ -967,13 +967,15 @@ read_rtc:
|
||||||
ds1307->nvram_offset = chip->nvram_offset;
|
ds1307->nvram_offset = chip->nvram_offset;
|
||||||
err = sysfs_create_bin_file(&client->dev.kobj, ds1307->nvram);
|
err = sysfs_create_bin_file(&client->dev.kobj, ds1307->nvram);
|
||||||
if (err)
|
if (err)
|
||||||
goto exit;
|
goto err_irq;
|
||||||
set_bit(HAS_NVRAM, &ds1307->flags);
|
set_bit(HAS_NVRAM, &ds1307->flags);
|
||||||
dev_info(&client->dev, "%zu bytes nvram\n", ds1307->nvram->size);
|
dev_info(&client->dev, "%zu bytes nvram\n", ds1307->nvram->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err_irq:
|
||||||
|
free_irq(client->irq, client);
|
||||||
exit:
|
exit:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue