diff options
Diffstat (limited to 'drivers/i2c/i2c-core.c')
-rw-r--r-- | drivers/i2c/i2c-core.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index 5f89f1e3c2f2..a59c3111f7fb 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c | |||
@@ -694,12 +694,12 @@ static int i2c_device_probe(struct device *dev) | |||
694 | goto err_clear_wakeup_irq; | 694 | goto err_clear_wakeup_irq; |
695 | 695 | ||
696 | status = dev_pm_domain_attach(&client->dev, true); | 696 | status = dev_pm_domain_attach(&client->dev, true); |
697 | if (status != -EPROBE_DEFER) { | 697 | if (status == -EPROBE_DEFER) |
698 | status = driver->probe(client, i2c_match_id(driver->id_table, | 698 | goto err_clear_wakeup_irq; |
699 | client)); | 699 | |
700 | if (status) | 700 | status = driver->probe(client, i2c_match_id(driver->id_table, client)); |
701 | goto err_detach_pm_domain; | 701 | if (status) |
702 | } | 702 | goto err_detach_pm_domain; |
703 | 703 | ||
704 | return 0; | 704 | return 0; |
705 | 705 | ||