X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fusb%2Fcore%2Fmessage.c;h=fe47d145255ae95f248dbe6825c9abc7836e1bb8;hb=849c529f57020cc47085400edd5e641d95cd4faf;hp=e819e5359d5765e1d2e1540432a6aa4981fa5d0a;hpb=2d630d1a6827bb7266dcd8bba5f99fac2505ee97;p=linux-2.6 diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index e819e5359d..fe47d14525 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -394,7 +394,9 @@ int usb_sg_init(struct usb_sg_request *io, struct usb_device *dev, if (!io->urbs) goto nomem; - urb_flags = URB_NO_TRANSFER_DMA_MAP | URB_NO_INTERRUPT; + urb_flags = URB_NO_INTERRUPT; + if (dma) + urb_flags |= URB_NO_TRANSFER_DMA_MAP; if (usb_pipein(pipe)) urb_flags |= URB_SHORT_NOT_OK; @@ -1605,6 +1607,7 @@ free_interfaces: intf->dev.driver = NULL; intf->dev.bus = &usb_bus_type; intf->dev.type = &usb_if_device_type; + intf->dev.groups = usb_interface_groups; intf->dev.dma_mask = dev->dev.dma_mask; device_initialize(&intf->dev); mark_quiesced(intf);