Message ID | 20041005124914.GA1009@gondor.apana.org.au |
---|---|
State | New, archived |
Headers | show |
Series |
|
Related | show |
On Tue, Oct 05, 2004 at 10:49:14PM +1000, Herbert Xu wrote: > Hi: > > There is a long-standing devfs_unregister oops in hid/hiddev. It's > caused by hid calling hiddev_exit before unregistering itself which > in turn calls hiddev_disconnect. > > hiddev_exit removes the directory which contains the hiddev devices. > Therefore it needs to be called after the hiddev devices have been > disconnected. > > This patch fixes that. > > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> > > Marcelo, the same fix is needed in 2.4 as well. Herbert, Would be nice to have a version which applies to 2.4 also. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
On Mon, Oct 11, 2004 at 02:21:47PM -0300, Marcelo Tosatti wrote: > On Tue, Oct 05, 2004 at 10:49:14PM +1000, Herbert Xu wrote: > > > > There is a long-standing devfs_unregister oops in hid/hiddev. It's > > caused by hid calling hiddev_exit before unregistering itself which > > in turn calls hiddev_disconnect. > > > > hiddev_exit removes the directory which contains the hiddev devices. > > Therefore it needs to be called after the hiddev devices have been > > disconnected. > > > > This patch fixes that. > > > > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> > > > > Marcelo, the same fix is needed in 2.4 as well. > > Would be nice to have a version which applies to 2.4 also. I did include a 2.4 patch in that email :) Here it is again.
On Wed, 13 Oct 2004 07:21:54 +1000 Herbert Xu <herbert@gondor.apana.org.au> wrote: > > > Marcelo, the same fix is needed in 2.4 as well. > > > > Would be nice to have a version which applies to 2.4 also. > > I did include a 2.4 patch in that email :) Herbert, I'm sorry for the wait. Marcelo asked me to take care of this, but I kept postponing it because I wanted to look closer, and this and that... It looks entirely reasonable and my hid devices continue to work, but I haven't tested hiddev (UPS or something ?). -- Pete diff -urp -X dontdiff linux-2.4.28-pre3/drivers/usb/hid-core.c linux-2.4.28-pre3-usb/drivers/usb/hid-core.c --- linux-2.4.28-pre3/drivers/usb/hid-core.c 2004-09-12 14:24:09.000000000 -0700 +++ linux-2.4.28-pre3-usb/drivers/usb/hid-core.c 2004-10-12 15:15:40.000000000 -0700 @@ -1459,8 +1459,8 @@ static int __init hid_init(void) static void __exit hid_exit(void) { - hiddev_exit(); usb_deregister(&hid_driver); + hiddev_exit(); } module_init(hid_init); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
On Tue, Oct 12, 2004 at 03:23:43PM -0700, Pete Zaitcev wrote: > > Herbert, I'm sorry for the wait. Marcelo asked me to take care of this, > but I kept postponing it because I wanted to look closer, and this and > that... It looks entirely reasonable and my hid devices continue to work, > but I haven't tested hiddev (UPS or something ?). Yes that's exactly the situation I'm in (APC UPS via USB) and it does fix the OOPS for me when hid is unloaded with the UPS connected. Cheers,
Herbert Xu wrote: > On Tue, Oct 12, 2004 at 03:23:43PM -0700, Pete Zaitcev wrote: >> >> Herbert, I'm sorry for the wait. Marcelo asked me to take care of >> this, but I kept postponing it because I wanted to look closer, and >> this and that... It looks entirely reasonable and my hid devices >> continue to work, but I haven't tested hiddev (UPS or something ?). > > Yes that's exactly the situation I'm in (APC UPS via USB) and it does > fix the OOPS for me when hid is unloaded with the UPS connected. Another scenario to keep in mind is unplugging a USB device while a process still has its corresponding hiddev node open. I fixed that issue in 2.6 a while ago. I'm not sure if 2.4 is susceptible. It may or may not be orthogonal to the problem your patch addresses. --Adam - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Adam Kropelin <akropel1@rochester.rr.com> wrote: > > Another scenario to keep in mind is unplugging a USB device while a process > still has its corresponding hiddev node open. I fixed that issue in 2.6 a > while ago. I'm not sure if 2.4 is susceptible. It may or may not be > orthogonal to the problem your patch addresses. It is unrelated to my issue but yet that fix is needed in 2.4 as well.
===== drivers/usb/input/hid-core.c 1.94 vs edited ===== --- 1.94/drivers/usb/input/hid-core.c 2004-08-25 22:01:29 +10:00 +++ edited/drivers/usb/input/hid-core.c 2004-10-05 22:44:03 +10:00 @@ -1859,8 +1859,8 @@ static void __exit hid_exit(void) { - hiddev_exit(); usb_deregister(&hid_driver); + hiddev_exit(); } module_init(hid_init);
Hi: There is a long-standing devfs_unregister oops in hid/hiddev. It's caused by hid calling hiddev_exit before unregistering itself which in turn calls hiddev_disconnect. hiddev_exit removes the directory which contains the hiddev devices. Therefore it needs to be called after the hiddev devices have been disconnected. This patch fixes that. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Marcelo, the same fix is needed in 2.4 as well. Cheers,