From: Greg KH To: marcelo@conectiva.com.br Cc: linux-usb-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: [BK PATCH] USB bug fixes for 2.4.20-pre10 Hi, Here are some small USB bug fixes for 2.4.20-pre10. Pull from: bk://linuxusb.bkbits.net/marcelo-2.4 The individual patches will be sent in follow up messages to this email. thanks, greg k-h Documentation/Configure.help | 21 +++++++++++++++++++++ drivers/usb/hid-input.c | 2 +- drivers/usb/inode.c | 2 ++ drivers/usb/serial/pl2303.c | 2 +- 4 files changed, 25 insertions(+), 2 deletions(-) ----- ChangeSet@1.741, 2002-10-11 11:02:51-07:00, greg@kroah.com [PATCH] USB: fix ctsrts handling in pl2303 driver. Thanks to the prolific engineers for pointing this out to me. drivers/usb/serial/pl2303.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) ------ ChangeSet@1.740, 2002-10-11 11:02:23-07:00, bunk@fs.tum.de [PATCH] Configure.help entry for CONFIG_USB_MIDI Documentation/Configure.help | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+) ------ ChangeSet@1.739, 2002-10-11 11:02:13-07:00, acme@conectiva.com.br [PATCH] hid-input: fix find_next_zero_bit usage It was swapping the parameters, using the bitfield size for the offset and the offset for the bitfield size. With this the mouse buttons in my wireless USB keyboard finally works 8) 2.4 has the same problem. drivers/usb/hid-input.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) ------ ChangeSet@1.738, 2002-10-11 11:02:02-07:00, wg@malloc.de [PATCH] usbfs race while mounting/umounting I use usbfs, but normally have only a single USB device connected, a generic mouse. When usbfs is unmounted on shutdown, I see "BUG at inode.c:1034" in between 5% and 50% of all cases, the backtrace being iput(), free_inode(), usbdevfs_put_super(), kill_super(), __mntput(), etc. I believe this to be a long standing problem, I remember seeing this in 2.2.x as well, more than a year ago. Then I moved the mouse to a 2.4.x system, and I've seen the problem ever since. As a workaround, I have moved the "umount /proc/bus/usb" after all disk umounts, but I believe I've now finally tracked down the cause. drivers/usb/inode.c says that all calls of its inode-list-manipulating functions must occur with the kernel lock held. usbdevfs_read_super() does _not_ do this, however, and I strongly suspect that my mouse is auto-detected (occasionally) exactly while usbfs is being mounted. The result is that the same inode ends up twice in usbfs's lists, hence the "BUG in inode.c:1034" when it is iput() twice on shutdown. The appended patch has fixed the problem for me, although I've only done a few boot cycles with it. drivers/usb/inode.c | 2 ++ 1 files changed, 2 insertions(+) ------