Source-Changes-D archive

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

re: CVS commit: src/sys/dev/usb

> Module Name:  src
> Committed By: cegger
> Date:         Fri Sep  3 23:15:09 UTC 2010
> Modified Files:
>       src/sys/dev/usb: usbdi.c
> Log Message:
> fix NULL pointer dereference on detaching:
> Attach an USB device that looks like this:
> ugen1 at uhub0 port 2
> ugen1: detached
> ugen1: at uhub0 port 2 (addr 3) disconnected
> When unplugging the device:
> usb_transfer_complete: xfer=0xffff80000832a800 not busy 0x00000055
> usb_transfer_complete: bad dequeue 0xffff80000832a800 != 0x0

this change seems to be a workaround hack rather than any sort of
actual bug fix.  the code immediately before it is checking that
the queue head is not the same as this xfer, and prints a message
under DIAG that there is likely a problem.  ie, you're avoiding a
crash in a place already known to be problematic, and instead of
trying to fix it you're patching over it without actually figuring
out what is going wrong.

please revert this change and debug the crash properly.


Home | Main Index | Thread Index | Old Index