NetBSD-Bugs archive

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

re: kern/46648: disconnecting usb mouse crashes system



On Jul 2,  9:02am, mrg%eterna.com.au@localhost (matthew green) wrote:
-- Subject: re: kern/46648: disconnecting usb mouse crashes system

| 
| hmmmm, this problem looks pretty annoying, and might affect many
| devices.  the problem seems to be that:
| 
|       - device was pulled out with active transfers
| 
|       - the handling of an error in the transfer callback function
|       is to call usbd_clear_endpoint_stall_async(), which then
|       sends a clear endpoint transfer
| 
|       - adapter transfer list is empty, causing kmem_alloc call,
|       triggering the assertion since this is happening from the
|       softintr thread
| 
| this idiom is used in many of the USB drivers, so a solution that
| does not require each one changing seems appropriate.
| 
| i'm not sure yet exactly the right answer.  it's clear to me (and
| has been or a while, since before usbmp) that the USB softintr
| does way too much work.

Have a pre-allocated xfer to be used on disconnect. Does this need
to be per driver or per bus?

christos


Home | Main Index | Thread Index | Old Index