This patch is a more complete fix for the device refcount
authorDavid Brownell <david-b@pacbell.net>
Mon, 8 Apr 2002 08:01:34 +0000 (01:01 -0700)
committerGreg Kroah-Hartman <greg@kroah.com>
Mon, 8 Apr 2002 08:01:34 +0000 (01:01 -0700)
commit99e471c7ba905ac022c4189e564acce8c0c79dae
tree36ac24cb67daf89f8cb41e5d99d5bb1bf8cf51fc
parent3066fa910caf0916fe7cf3eb6c5f9aa5320855e8
This patch is a more complete fix for the device refcount
sanity checking and cleanup on device disconnect.

    - Splits apart usb_dec_dev_use(), for driver use, and
      usb_free_dev(), for hub/hcd use.  Both now have
      kerneldoc, and will BUG() if the refcount and the
      device tree get out of sync.  (Except for cleanup of
      root hub init errors, refcount must go to zero only
      at the instant disconnect processing completes.)

    - More usbcore-internal function declarations are
      now moved out of <linux/usb.h> into hcd.h

    - Driver-accessible refcounting is now inlined; minor
      code shrinkage, it's using atomic inc/dec instructions
      not function calls.

<note from greg k-h, there is still some work to be done with USB device
 reference counting, but this patch is a step in the right direction.>
drivers/usb/core/hcd.h
drivers/usb/core/hub.c
drivers/usb/core/usb.c
include/linux/usb.h