diff options
author | David Vrabel <david.vrabel@csr.com> | 2009-08-25 11:41:06 -0400 |
---|---|---|
committer | David Vrabel <david.vrabel@csr.com> | 2009-08-26 07:39:29 -0400 |
commit | 0396c215f301e92677d1e9a064b405e31501dc1d (patch) | |
tree | a54229672abc6f244fcf184701b8a8bf98b70544 /drivers/uwb/whc-rc.c | |
parent | a9e75a389254801ca160b72c6e221e5bb7e35df9 (diff) |
uwb: avoid radio controller reset loops
If a radio controller reset attempt occurs while a probe() or remove()
is in progress it fails and is retried endlessly, potentially preventing
the probe() or remove() from completing.
If a reset fails, sleep for a bit before retrying the reset. This
allows the probe()/remove() to complete.
Signed-off-by: David Vrabel <david.vrabel@csr.com>
Diffstat (limited to 'drivers/uwb/whc-rc.c')
-rw-r--r-- | drivers/uwb/whc-rc.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/uwb/whc-rc.c b/drivers/uwb/whc-rc.c index 19a1dd129212..1d9a6f54658e 100644 --- a/drivers/uwb/whc-rc.c +++ b/drivers/uwb/whc-rc.c | |||
@@ -443,8 +443,7 @@ static int whcrc_post_reset(struct umc_dev *umc) | |||
443 | struct whcrc *whcrc = umc_get_drvdata(umc); | 443 | struct whcrc *whcrc = umc_get_drvdata(umc); |
444 | struct uwb_rc *uwb_rc = whcrc->uwb_rc; | 444 | struct uwb_rc *uwb_rc = whcrc->uwb_rc; |
445 | 445 | ||
446 | uwb_rc_post_reset(uwb_rc); | 446 | return uwb_rc_post_reset(uwb_rc); |
447 | return 0; | ||
448 | } | 447 | } |
449 | 448 | ||
450 | /* PCI device ID's that we handle [so it gets loaded] */ | 449 | /* PCI device ID's that we handle [so it gets loaded] */ |