On Tue, 23 Apr 2013, linux fddl wrote: > Recently, I test my usb host driver(not ehci or any widely used usb > host) with a Ralink's wifi device(use a linux-3.0.39 kernel). > But, if transferring data through FTP for a long time, I found that > usb_hcd_link_urb_to_ep() (It is called by hcd's urb_enqueue function) > returns -EPERM sometimes. > > After digging Ralink's wifi driver, I found, it seems that my host > driver some time try to link a killing urb to ep. > (The calling path of usb_kill_urb() is: > rt2x00usb_watchdog()->rt2x00usb_dma_timeout()->rt2x00queue_dma_timeout()->rt2x00usb_watchdog_tx_dma()->rt2x00queue_flush_queue()->rt2x00usb_flush_queue()->rt2x00queue_for_each_entry()->rt2x00usb_flush_entry()->usb_kill_urb()� > ) > > What I hope to know is: it a right result? or it seems there is a bug > in my driver?or because my driver's speed is not high enough(It seems > that it happends more frequently in a low speed)? It is correct for usb_hcd_link_urb_to_ep() to return -EPERM while the URB is being killed. I don't know if there are any bugs in your driver. Alan Stern -- 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