On Tue, Mar 18, 2014 at 6:09 PM, Julius Werner <jwerner@xxxxxxxxxxxx> wrote: > I think a better place for this would be in usbnet_probe() (together > with all the other dev->xxx initialization). Definitely better. @@ -1536,6 +1536,7 @@ usbnet_probe (struct usb_interface *udev, const struct usb dev->driver_name = name; dev->msg_enable = netif_msg_init (msg_level, NETIF_MSG_DRV | NETIF_MSG_PROBE | NETIF_MSG_LINK); + init_waitqueue_head(&dev->wait); skb_queue_head_init (&dev->rxq); skb_queue_head_init (&dev->txq); skb_queue_head_init (&dev->done); > I'm not quite sure how > that could cause the transfer problems you are seeing, but at least > you will no longer initialize the waitqueue multiple times on multiple > usbnet_open (which is probably a bad idea). Yeah, I agree. I don't expect usbnet_open would get called multiple times but I'll try the above anyway. thanks, grant -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html