]> err.no Git - linux-2.6/blobdiff - drivers/usb/host/ohci-q.c
iwlwifi: fix printk newlines
[linux-2.6] / drivers / usb / host / ohci-q.c
index 9b547407c9342fd41b02700adda126c0382cd74e..c2d80f80448b2e77690f8f29cc64f3402cd9dd78 100644 (file)
@@ -49,6 +49,9 @@ __acquires(ohci->lock)
        switch (usb_pipetype (urb->pipe)) {
        case PIPE_ISOCHRONOUS:
                ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs--;
+               if (ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs == 0
+                               && quirk_amdiso(ohci))
+                       quirk_amd_pll(1);
                break;
        case PIPE_INTERRUPT:
                ohci_to_hcd(ohci)->self.bandwidth_int_reqs--;
@@ -159,9 +162,6 @@ static int ed_schedule (struct ohci_hcd *ohci, struct ed *ed)
 {
        int     branch;
 
-       if (ohci_to_hcd(ohci)->state == HC_STATE_QUIESCING)
-               return -EAGAIN;
-
        ed->state = ED_OPER;
        ed->ed_prev = NULL;
        ed->ed_next = NULL;
@@ -680,6 +680,9 @@ static void td_submit_urb (
                                data + urb->iso_frame_desc [cnt].offset,
                                urb->iso_frame_desc [cnt].length, urb, cnt);
                }
+               if (ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs == 0
+                               && quirk_amdiso(ohci))
+                       quirk_amd_pll(0);
                periodic = ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs++ == 0
                        && ohci_to_hcd(ohci)->self.bandwidth_int_reqs == 0;
                break;