when request_irq fails, we should release gpiochip v2: fix warning: ignoring return value of 'gpiochip_remove
Showing the changes to drivers/platform (1 of 1 file). Show all
Unified · Split
| @@ -288,7 +288,7 @@ static int platform_pmic_gpio_probe(struct platform_device *pdev) · 287 unmodified lines | ||
| 288 | 288 | retval = request_irq(pg->irq, pmic_irq_handler, 0, "pmic", pg); |
| 289 | 289 | if (retval) { |
| 290 | 290 | pr_warn("Interrupt request failed\n"); |
| 291 | − goto err; | |
| 291 | + goto fail_request_irq; | |
| 292 | 292 | } |
| 293 | 293 | |
| 294 | 294 | for (i = 0; i < 8; i++) { |
| @@ -299,6 +299,10 @@ static int platform_pmic_gpio_probe(struct platform_device *pdev) · 4 unmodified lines | ||
| 299 | 299 | irq_set_chip_data(i + pg->irq_base, pg); |
| 300 | 300 | } |
| 301 | 301 | return 0; |
| 302 | + | |
| 303 | +fail_request_irq: | |
| 304 | + if (gpiochip_remove(&pg->chip)) | |
| 305 | + pr_err("gpiochip_remove failed\n"); | |
| 302 | 306 | err: |
| 303 | 307 | iounmap(pg->gpiointr); |
| 304 | 308 | err2: |