aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/uhci-hcd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/uhci-hcd.c')
-rw-r--r--drivers/usb/host/uhci-hcd.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c
index 4db17f75f4f1..ec987897b8ed 100644
--- a/drivers/usb/host/uhci-hcd.c
+++ b/drivers/usb/host/uhci-hcd.c
@@ -378,7 +378,6 @@ static irqreturn_t uhci_irq(struct usb_hcd *hcd)
378{ 378{
379 struct uhci_hcd *uhci = hcd_to_uhci(hcd); 379 struct uhci_hcd *uhci = hcd_to_uhci(hcd);
380 unsigned short status; 380 unsigned short status;
381 unsigned long flags;
382 381
383 /* 382 /*
384 * Read the interrupt status, and write it back to clear the 383 * Read the interrupt status, and write it back to clear the
@@ -398,7 +397,7 @@ static irqreturn_t uhci_irq(struct usb_hcd *hcd)
398 dev_err(uhci_dev(uhci), "host controller process " 397 dev_err(uhci_dev(uhci), "host controller process "
399 "error, something bad happened!\n"); 398 "error, something bad happened!\n");
400 if (status & USBSTS_HCH) { 399 if (status & USBSTS_HCH) {
401 spin_lock_irqsave(&uhci->lock, flags); 400 spin_lock(&uhci->lock);
402 if (uhci->rh_state >= UHCI_RH_RUNNING) { 401 if (uhci->rh_state >= UHCI_RH_RUNNING) {
403 dev_err(uhci_dev(uhci), 402 dev_err(uhci_dev(uhci),
404 "host controller halted, " 403 "host controller halted, "
@@ -415,16 +414,16 @@ static irqreturn_t uhci_irq(struct usb_hcd *hcd)
415 * pending unlinks */ 414 * pending unlinks */
416 mod_timer(&hcd->rh_timer, jiffies); 415 mod_timer(&hcd->rh_timer, jiffies);
417 } 416 }
418 spin_unlock_irqrestore(&uhci->lock, flags); 417 spin_unlock(&uhci->lock);
419 } 418 }
420 } 419 }
421 420
422 if (status & USBSTS_RD) 421 if (status & USBSTS_RD)
423 usb_hcd_poll_rh_status(hcd); 422 usb_hcd_poll_rh_status(hcd);
424 else { 423 else {
425 spin_lock_irqsave(&uhci->lock, flags); 424 spin_lock(&uhci->lock);
426 uhci_scan_schedule(uhci); 425 uhci_scan_schedule(uhci);
427 spin_unlock_irqrestore(&uhci->lock, flags); 426 spin_unlock(&uhci->lock);
428 } 427 }
429 428
430 return IRQ_HANDLED; 429 return IRQ_HANDLED;