cdc_ncm: toggle altsetting to force reset before setup
[pandora-kernel.git] / drivers / net / usb / cdc_ncm.c
index f06fb78..56160cb 100644 (file)
@@ -550,7 +550,11 @@ advance:
 
        iface_no = ctx->data->cur_altsetting->desc.bInterfaceNumber;
 
-       /* reset data interface */
+       /* Reset data interface. Some devices will not reset properly
+        * unless they are configured first.  Toggle the altsetting to
+        * force a reset
+        */
+       usb_set_interface(dev->udev, iface_no, 1);
        temp = usb_set_interface(dev->udev, iface_no, 0);
        if (temp)
                goto error2;