USB: Fix the mouse problem when copying large amounts of data

When copying large amounts of data between the USB storage devices and
the hard disk, the USB mouse will not work, this patch fixes it.

[NOTE: This problem have been found in the Loongson family machines, not
sure whether it is producible on other platforms]

Signed-off-by: Hu Hongbing <huhb@lemote.com>
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
This commit is contained in:
Wu Zhangjin 2010-01-04 11:33:02 +08:00 committed by Alibek Omarov
parent e0e51803e6
commit 9fd9f5b038
1 changed files with 7 additions and 3 deletions

View File

@ -864,9 +864,13 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd)
}
if (ints & OHCI_INTR_WDH) {
spin_lock (&ohci->lock);
dl_done_list (ohci);
spin_unlock (&ohci->lock);
if (ohci->hcca->done_head == 0) {
ints &= ~OHCI_INTR_WDH;
} else {
spin_lock (&ohci->lock);
dl_done_list (ohci);
spin_unlock (&ohci->lock);
}
}
if (quirk_zfmicro(ohci) && (ints & OHCI_INTR_SF)) {