Re: usb: host: xhci: stalled endpoint ring not cleared on empty td_list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Chris,
> On 04/11/2017 04:33 PM, Christian Gromm wrote:
> Well, this sounds like a workaround to me as you are changing the timing
> by waiting for the URBs to finish. This might prevent the
> race from happening.
> 
I personally would rate it rather as a fix than as a workaround, because the "usb_wait_anchor_empty_timeout()" function doesn't only change the timing: It ensures that we won't kill any URB which is just being processed. And this is exactly the failure that we are observing here.

> I thought an USB device driver is allowed to kill anchored URBs at any
> time, isn't it?
> 
Both functions are described in Documentation/usb/anchors.txt and I agree: It is not stated clearly that we must always call the "usb_wait_anchor_empty_timeout()" function before we can call the "usb_kill_anchored_urbs()" function.

Probably Oliver Neukum, who has written these functions long time ago, can explain shortly, if we can call the "usb_kill_anchored_urbs()" function always - and if not, in which situation the "usb_wait_anchor_empty_timeout()" function has to be called in advance.

Kind regards,
 Rolf
--
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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux