summaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2015-11-01 15:52:13 +0100
committerStefan Richter <stefanr@s5r6.in-berlin.de>2015-11-05 14:25:31 +0100
commita354cf00c71390c46927335fe20b65f38a528b59 (patch)
treed3863f9b6df07618a57592fd602dae64e70d437a /drivers/firewire
parentfirewire: nosy: Replace timeval with timespec64 (diff)
downloadlinux-a354cf00c71390c46927335fe20b65f38a528b59.tar.xz
linux-a354cf00c71390c46927335fe20b65f38a528b59.zip
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>
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/ohci.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c
index c2f5117fd8cb..8bf89267dc25 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;
}
/*