diff options
Diffstat (limited to 'drivers/usb/core/hcd.c')
| -rw-r--r-- | drivers/usb/core/hcd.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index 190b1ec7bdcb..bc84106ac057 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c | |||
| @@ -1398,7 +1398,15 @@ int usb_hcd_map_urb_for_dma(struct usb_hcd *hcd, struct urb *urb, | |||
| 1398 | && !(urb->transfer_flags & URB_NO_TRANSFER_DMA_MAP)) { | 1398 | && !(urb->transfer_flags & URB_NO_TRANSFER_DMA_MAP)) { |
| 1399 | if (hcd->self.uses_dma) { | 1399 | if (hcd->self.uses_dma) { |
| 1400 | if (urb->num_sgs) { | 1400 | if (urb->num_sgs) { |
| 1401 | int n = dma_map_sg( | 1401 | int n; |
| 1402 | |||
| 1403 | /* We don't support sg for isoc transfers ! */ | ||
| 1404 | if (usb_endpoint_xfer_isoc(&urb->ep->desc)) { | ||
| 1405 | WARN_ON(1); | ||
| 1406 | return -EINVAL; | ||
| 1407 | } | ||
| 1408 | |||
| 1409 | n = dma_map_sg( | ||
| 1402 | hcd->self.controller, | 1410 | hcd->self.controller, |
| 1403 | urb->sg, | 1411 | urb->sg, |
| 1404 | urb->num_sgs, | 1412 | urb->num_sgs, |
