diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2015-11-01 15:52:13 +0100 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2015-11-05 14:25:31 +0100 |
commit | a354cf00c71390c46927335fe20b65f38a528b59 (patch) | |
tree | d3863f9b6df07618a57592fd602dae64e70d437a | |
parent | 2ae4b6b20e2004dccf80d804ae52b073377c2f5b (diff) | |
download | op-kernel-dev-a354cf00c71390c46927335fe20b65f38a528b59.zip op-kernel-dev-a354cf00c71390c46927335fe20b65f38a528b59.tar.gz |
firewire: ohci: propagate return code from soft_reset to probe and resume
software_reset() may fail
- due to unresponsive chip with -EBUSY (-16), or
- due to ejected or unseated card with -ENODEV (-19).
Let the PCI probe and resume routines log the actual error code instead
of hardwired -EBUSY.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-rw-r--r-- | drivers/firewire/ohci.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c index c2f5117..8bf8926 100644 --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c @@ -2278,9 +2278,10 @@ static int ohci_enable(struct fw_card *card, u32 lps, version, irqs; int i, ret; - if (software_reset(ohci)) { + ret = software_reset(ohci); + if (ret < 0) { ohci_err(ohci, "failed to reset ohci card\n"); - return -EBUSY; + return ret; } /* |