# USB: further cleanup of the hiddev driver, fixing another possible oops on 
disconnect.

diff -Nru a/drivers/usb/input/hiddev.c b/drivers/usb/input/hiddev.c
--- a/drivers/usb/input/hiddev.c        Mon Apr 26 11:38:28 2004
+++ b/drivers/usb/input/hiddev.c        Mon Apr 26 11:38:28 2004
@@ -49,7 +49,6 @@
 struct hiddev {
        int exist;
        int open;
-       int minor;
        wait_queue_head_t wait;
        struct hid_device *hid;
        struct hiddev_list *list;
@@ -233,8 +232,8 @@
 static struct usb_class_driver hiddev_class;
 static void hiddev_cleanup(struct hiddev *hiddev)
 {
+       hiddev_table[hiddev->hid->minor] = NULL;
        usb_deregister_dev(hiddev->hid->intf, &hiddev_class);
-       hiddev_table[hiddev->minor] = NULL;
        kfree(hiddev);
 }
 
@@ -783,7 +782,6 @@
 
        init_waitqueue_head(&hiddev->wait);
 
-       hiddev->minor = hid->intf->minor;
        hiddev_table[hid->intf->minor - HIDDEV_MINOR_BASE] = hiddev;
 
        hiddev->hid = hid;


-------------------------------------------------------
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg=12297
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to