History

x86 platform drivers: fix gpio leak

when request_irq fails, we should release gpiochip v2: fix warning: ignoring return value of 'gpiochip_remove

Libo Chen committed 13 years ago

Commit fef8ce11 parent 283672e1 file · +5 −1Browse files

Unified · Split

drivers/platform/x86/intel_pmic_gpio.c+5−1
@@ -288,7 +288,7 @@ static int platform_pmic_gpio_probe(struct platform_device *pdev) · 287 unmodified lines
288288 retval = request_irq(pg->irq, pmic_irq_handler, 0, "pmic", pg);
289289 if (retval) {
290290 pr_warn("Interrupt request failed\n");
291− goto err;
291+ goto fail_request_irq;
292292 }
293293
294294 for (i = 0; i < 8; i++) {
@@ -299,6 +299,10 @@ static int platform_pmic_gpio_probe(struct platform_device *pdev) · 4 unmodified lines
299299 irq_set_chip_data(i + pg->irq_base, pg);
300300 }
301301 return 0;
302+
303+fail_request_irq:
304+ if (gpiochip_remove(&pg->chip))
305+ pr_err("gpiochip_remove failed\n");
302306 err:
303307 iounmap(pg->gpiointr);
304308 err2: