diff options
author | joyw <joyw@nvidia.com> | 2013-01-31 18:51:25 +0800 |
---|---|---|
committer | Riham Haidar <rhaidar@nvidia.com> | 2013-02-01 18:42:04 -0800 |
commit | 8c3bb236fdcd1e3106efc59b479036d29531af8e (patch) | |
tree | a80ee580f0c6bfac7578f59b8f477e3ebe55c794 /drivers/usb | |
parent | 4c063c4cf183672c9d4ded9008faf1c95649a4dc (diff) |
usb: xhci: WAR fix panic in xhci_free_dev
Avoid kernel panic in xhci_free_dev function.
Add WRAN_ON to get noticed when issue reproduced.
Change-Id: I493166c0032526bfa190a7dc2abb5156309eedd3
Signed-off-by: joyw <joyw@nvidia.com>
Reviewed-on: http://git-master/r/196187
Reviewed-by: Ajay Gupta <ajayg@nvidia.com>
Tested-by: Ajay Gupta <ajayg@nvidia.com>
Reviewed-by: Ashutosh Jha <ajha@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Jui Chang Kuo <jckuo@nvidia.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/xhci.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index 37e82bfa855a..3206624fbc4a 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -3365,6 +3365,10 @@ void xhci_free_dev(struct usb_hcd *hcd, struct usb_device *udev) virt_dev = xhci->devs[udev->slot_id]; + WARN_ON(!virt_dev); + if (!virt_dev) + return; + /* Stop any wayward timer functions (which may grab the lock) */ for (i = 0; i < 31; ++i) { virt_dev->eps[i].ep_state &= ~EP_HALT_PENDING; |