[Hardy] SRU: Fix an suspend panic when streaming audio to bluetooth headset

Tim Gardner tim.gardner at canonical.com
Fri Feb 13 17:32:24 UTC 2009


Colin Ian King wrote:
> SRU justification:
> 
> Impact: Performing a suspend while streaming audio to a bluetooth
> headset trips a kernel panic in the bluetooth USB driver very late in
> the suspend process (after console messages are turned off).
> 
> The panic occurs when hci_usb_tx_complete() calls _urb_unlink()
> on an _urb which has been previously been removed from a list.
> This happens because hci_usb_suspend() dequeues the _urb
> and then calls usb_kill_urb() which is the wrong way around.
> 
> Fix: Put _urb on the killed list before calling usb_kill_urb() - this
> ensures that the _urb is on a list and hence won't cause a panic when
> removed using _urb_unlink().
> 
> Testcase: Doing a suspend with audio streaming to a bluetooth headset
> using Elisa causes a panic.  With the patch suspend/resume works
> correctly.
> 
> Attached: The patch.
> 
> 

ACK

-- 
Tim Gardner tim.gardner at canonical.com




More information about the kernel-team mailing list