提交 fad21bdf 编写于 作者: A Alan Stern 提交者: Greg Kroah-Hartman

[PATCH] USB: Fix regression in core/devio.c

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.
Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 fbf82fd2
......@@ -76,6 +76,8 @@ MODULE_PARM_DESC (usbfs_snoop, "true to log all usbfs traffic");
dev_info( dev , format , ## arg); \
} while (0)
#define USB_DEVICE_DEV MKDEV(USB_DEVICE_MAJOR, 0)
#define MAX_USBFS_BUFFER_SIZE 16384
......@@ -1530,18 +1532,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");
......@@ -1550,7 +1551,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:
......@@ -1561,6 +1562,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);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册