Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dwc_otg: Call usb_hcd_unlink_urb_from_ep with lock held in completion ta... #312

Merged
merged 1 commit into from
Jun 23, 2013

Commits on Jun 21, 2013

  1. dwc_otg: Call usb_hcd_unlink_urb_from_ep with lock held in completion…

    … handler
    
    usb_hcd_unlink_urb_from_ep must be called with the HCD lock held.  Calling it
    asynchronously in the tasklet was not safe (regression in
    c4564d4).
    
    This change unlinks it from the endpoint prior to queueing it for handling in
    the tasklet, and also adds a check to ensure the urb is OK to be unlinked
    before doing so.
    
    NULL pointer dereference kernel oopses had been observed in usb_hcd_giveback_urb
    when a USB device was unplugged/replugged during data transfer.  This effect
    was reproduced using automated USB port power control, hundreds of replug
    events were performed during active transfers to confirm that the problem was
    eliminated.
    wmdb committed Jun 21, 2013
    Configuration menu
    Copy the full SHA
    9475f39 View commit details
    Browse the repository at this point in the history