|
@@ -49,9 +49,12 @@ __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);
|
|
|
+ if (ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs == 0) {
|
|
|
+ if (quirk_amdiso(ohci))
|
|
|
+ quirk_amd_pll(1);
|
|
|
+ if (quirk_amdprefetch(ohci))
|
|
|
+ sb800_prefetch(ohci, 0);
|
|
|
+ }
|
|
|
break;
|
|
|
case PIPE_INTERRUPT:
|
|
|
ohci_to_hcd(ohci)->self.bandwidth_int_reqs--;
|
|
@@ -680,9 +683,12 @@ 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);
|
|
|
+ if (ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs == 0) {
|
|
|
+ if (quirk_amdiso(ohci))
|
|
|
+ quirk_amd_pll(0);
|
|
|
+ if (quirk_amdprefetch(ohci))
|
|
|
+ sb800_prefetch(ohci, 1);
|
|
|
+ }
|
|
|
periodic = ohci_to_hcd(ohci)->self.bandwidth_isoc_reqs++ == 0
|
|
|
&& ohci_to_hcd(ohci)->self.bandwidth_int_reqs == 0;
|
|
|
break;
|