Greg:

This patch (as551) fixes another little problem recently added to the USB
core.  Someone didn't fix the type of the first argument to
unregister_chrdev_region.

Alan Stern



Signed-off-by: Alan Stern <[EMAIL PROTECTED]>

Index: usb-2.6/drivers/usb/core/devio.c
===================================================================
--- usb-2.6.orig/drivers/usb/core/devio.c
+++ usb-2.6/drivers/usb/core/devio.c
@@ -76,6 +76,8 @@ MODULE_PARM_DESC (usbfs_snoop, "true to 
                        dev_info( dev , format , ## arg);       \
        } while (0)
 
+#define USB_DEVICE_DEV         MKDEV(USB_DEVICE_MAJOR, 0)
+
 
 #define        MAX_USBFS_BUFFER_SIZE   16384
 
@@ -1575,18 +1577,17 @@ int __init usbdev_init(void)
 {
        int retval;
 
-       retval = register_chrdev_region(MKDEV(USB_DEVICE_MAJOR, 0),
-                                       USB_DEVICE_MAX, "usb_device");
+       retval = register_chrdev_region(USB_DEVICE_DEV, USB_DEVICE_MAX,
+                       "usb_device");
        if (retval) {
                err("unable to register minors for usb_device");
                goto out;
        }
        cdev_init(&usb_device_cdev, &usbfs_device_file_operations);
-       retval = cdev_add(&usb_device_cdev,
-                         MKDEV(USB_DEVICE_MAJOR, 0), USB_DEVICE_MAX);
+       retval = cdev_add(&usb_device_cdev, USB_DEVICE_DEV, USB_DEVICE_MAX);
        if (retval) {
                err("unable to get usb_device major %d", USB_DEVICE_MAJOR);
-               unregister_chrdev_region(USB_DEVICE_MAJOR, USB_DEVICE_MAX);
+               unregister_chrdev_region(USB_DEVICE_DEV, USB_DEVICE_MAX);
                goto out;
        }
        usb_device_class = class_create(THIS_MODULE, "usb_device");
@@ -1595,7 +1596,7 @@ int __init usbdev_init(void)
                retval = PTR_ERR(usb_device_class);
                usb_device_class = NULL;
                cdev_del(&usb_device_cdev);
-               unregister_chrdev_region(USB_DEVICE_MAJOR, USB_DEVICE_MAX);
+               unregister_chrdev_region(USB_DEVICE_DEV, USB_DEVICE_MAX);
        }
 
 out:
@@ -1606,6 +1607,6 @@ void usbdev_cleanup(void)
 {
        class_destroy(usb_device_class);
        cdev_del(&usb_device_cdev);
-       unregister_chrdev_region(USB_DEVICE_MAJOR, USB_DEVICE_MAX);
+       unregister_chrdev_region(USB_DEVICE_DEV, USB_DEVICE_MAX);
 }
 



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to