mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 14:20:55 +07:00
i2c: return probe deferred status on dev_pm_domain_attach
A change of return status was introduced in commit3fffd12839
("i2c: allow specifying separate wakeup interrupt in device tree") The commit prevents the defer status being passed up the call stack appropriately when dev_pm_domain_attach returns -EPROBE_DEFER. Catch the PROBE_DEFER and clear up the IRQ wakeup status Signed-off-by: Kieran Bingham <kieranbingham@gmail.com> Fixes:3fffd12839
("i2c: allow specifying separate wakeup interrupt in device tree") Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
parent
25cb62b764
commit
74cedd3052
@ -694,12 +694,12 @@ static int i2c_device_probe(struct device *dev)
|
||||
goto err_clear_wakeup_irq;
|
||||
|
||||
status = dev_pm_domain_attach(&client->dev, true);
|
||||
if (status != -EPROBE_DEFER) {
|
||||
status = driver->probe(client, i2c_match_id(driver->id_table,
|
||||
client));
|
||||
if (status)
|
||||
goto err_detach_pm_domain;
|
||||
}
|
||||
if (status == -EPROBE_DEFER)
|
||||
goto err_clear_wakeup_irq;
|
||||
|
||||
status = driver->probe(client, i2c_match_id(driver->id_table, client));
|
||||
if (status)
|
||||
goto err_detach_pm_domain;
|
||||
|
||||
return 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user