ChangeSet 1.924.3.9, 2002/11/30 22:19:57-08:00, [EMAIL PROTECTED]

[PATCH] - cleanup for new module primitives


diff -Nru a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
--- a/drivers/usb/core/devio.c  Sun Dec  1 23:05:56 2002
+++ b/drivers/usb/core/devio.c  Sun Dec  1 23:05:56 2002
@@ -860,7 +860,7 @@
                if (uurb.buffer_length > 16384)
                        return -EINVAL;
                if (!access_ok((uurb.endpoint & USB_DIR_IN) ? VERIFY_WRITE : 
VERIFY_READ, uurb.buffer, uurb.buffer_length))
-                       return -EFAULT;   
+                       return -EFAULT;
                break;
 
        default:
@@ -955,10 +955,10 @@
        if (!(usb_pipeisoc(urb->pipe)))
                return 0;
        for (i = 0; i < urb->number_of_packets; i++) {
-               if (put_user(urb->iso_frame_desc[i].actual_length, 
+               if (put_user(urb->iso_frame_desc[i].actual_length,
                             &((struct usbdevfs_urb 
*)as->userurb)->iso_frame_desc[i].actual_length))
                        return -EFAULT;
-               if (put_user(urb->iso_frame_desc[i].status, 
+               if (put_user(urb->iso_frame_desc[i].status,
                             &((struct usbdevfs_urb 
*)as->userurb)->iso_frame_desc[i].status))
                        return -EFAULT;
        }
@@ -1122,18 +1122,16 @@
                        unlock_kernel();
                        retval = -ENOSYS;
                } else {
-                       if (driver->owner
-                                       && !try_inc_mod_count (driver->owner)) {
+                       if (!try_module_get (driver->owner)) {
                                unlock_kernel();
                                retval = -ENOSYS;
                                break;
                        }
                        unlock_kernel ();
                        retval = driver->ioctl (ifp, ctrl.ioctl_code, buf);
-                       if (driver->owner)
-                               __MOD_DEC_USE_COUNT (driver->owner);
+                       put_module (driver->owner);
                }
-               
+
                if (retval == -ENOIOCTLCMD)
                        retval = -ENOTTY;
        }
@@ -1188,7 +1186,7 @@
        case USBDEVFS_RESET:
                ret = proc_resetdevice(ps);
                break;
-       
+
        case USBDEVFS_CLEAR_HALT:
                ret = proc_clearhalt(ps, (void *)arg);
                if (ret >= 0)
diff -Nru a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
--- a/drivers/usb/core/usb.c    Sun Dec  1 23:05:56 2002
+++ b/drivers/usb/core/usb.c    Sun Dec  1 23:05:56 2002
@@ -69,7 +69,8 @@
        .probe = generic_probe,
        .remove = generic_remove,
 };
-       
+
+/* needs to be called with BKL held */
 int usb_device_probe(struct device *dev)
 {
        struct usb_interface * intf = to_usb_interface(dev);
@@ -83,11 +84,8 @@
        if (!driver->probe)
                return error;
 
-       if (driver->owner) {
-               m = try_inc_mod_count(driver->owner);
-               if (m == 0)
-                       return error;
-       }
+       if (!try_module_get(driver->owner))
+               return error;
 
        id = usb_match_id (intf, driver->id_table);
        if (id) {
@@ -99,8 +97,7 @@
        if (!error)
                intf->driver = driver;
 
-       if (driver->owner)
-               __MOD_DEC_USE_COUNT(driver->owner);
+       put_module(driver->owner);
 
        return error;
 }
@@ -120,14 +117,12 @@
                return -ENODEV;
        }
 
-       if (driver->owner) {
-               m = try_inc_mod_count(driver->owner);
-               if (m == 0) {
-                       // FIXME this happens even when we just rmmod
-                       // drivers that aren't in active use... 
-                       err("Dieing driver still bound to device.\n");
-                       return -EIO;
-               }
+       m = try_module_get(driver->owner);
+       if (m == 0) {
+               // FIXME this happens even when we just rmmod
+               // drivers that aren't in active use...
+               err("Dieing driver still bound to device.\n");
+               return -EIO;
        }
 
        /* if we sleep here on an umanaged driver 
@@ -143,8 +138,7 @@
                usb_driver_release_interface(driver, intf);
 
        up(&driver->serialize);
-       if (driver->owner)
-               __MOD_DEC_USE_COUNT(driver->owner);
+       module_put(driver->owner)
 
        return 0;
 }


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to