diff options
Diffstat (limited to 'drivers/usb/host/whci/hw.c')
| -rw-r--r-- | drivers/usb/host/whci/hw.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/usb/host/whci/hw.c b/drivers/usb/host/whci/hw.c index d498e7203217..6afa2e379160 100644 --- a/drivers/usb/host/whci/hw.c +++ b/drivers/usb/host/whci/hw.c | |||
| @@ -87,3 +87,18 @@ out: | |||
| 87 | 87 | ||
| 88 | return ret; | 88 | return ret; |
| 89 | } | 89 | } |
| 90 | |||
| 91 | /** | ||
| 92 | * whc_hw_error - recover from a hardware error | ||
| 93 | * @whc: the WHCI HC that broke. | ||
| 94 | * @reason: a description of the failure. | ||
| 95 | * | ||
| 96 | * Recover from broken hardware with a full reset. | ||
| 97 | */ | ||
| 98 | void whc_hw_error(struct whc *whc, const char *reason) | ||
| 99 | { | ||
| 100 | struct wusbhc *wusbhc = &whc->wusbhc; | ||
| 101 | |||
| 102 | dev_err(&whc->umc->dev, "hardware error: %s\n", reason); | ||
| 103 | wusbhc_reset_all(wusbhc); | ||
| 104 | } | ||
