On Mon, May 06, 2002, David Brownell <[EMAIL PROTECTED]> wrote: > > > kernel: usb.c: USB disconnect on device 1 > > > kernel: usb.c: USB disconnect on device 4 > > > kernel: printer.c: usblp0: removed > > > kernel: kernel BUG at usb.c:987! > > > [ deletia ] > > > kernel: Call Trace: [<d8818d0f>] [<d882d480>] [<d882bc7e>] > > > kernel: [pci_unregister_driver+51/76] [<d882bdfe>] [<d882d480>] > > > kernel: [free_module+23/192] [sys_delete_module+303/636] > > > kernel: [syscall_call+7/11] > > > ... > > > kernel: usb.c: null device being purged!!! > > > kernel: usb.c: deregistering driver usb-storage > > > kernel: usb.c: null device being purged!!! > > ... > > This is because of the reference counting changes that occured in 2.5. > > That is, the BUG() was _detected_ because of them. It hardly > caused the "null device being purged" error, for example, which > is indicative of another problem (maybe related).
You're changing the definition of "bug". The behaviour uhci.c exhibits is perfectly sane if you understand how reference counting is supposed to be used. Yes, uhci.c caused that BUG(), but that's only because you changed reference counting from a powerful coding tool to something that is so difficult to use as to be worthless, all to catch one obscure coding problem in other pieces of code. > The BUG() would seem to be the one where the "free device state" > method in the "uhci.c" driver (uhci_free_dev) doesn't actually do so. > It's keeping some device state (refcounts) around after it claims to > have gotten rid of all such state. Nope, it's because uhci_free_dev is a hold over from days gone by and isn't necessary, assuming you use reference counting correctly. > The fix discussed last time was to make "uhci.c" null out its copy > of the device handle, and drop the refcounts, when unlinking URBs. That's not the right fix. I'm actually surprised you still think that's acceptable. JE _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
