usbatm : modprobe & rmmod

Roman Kagan rkagan at mail.ru
Tue Jan 25 13:31:03 EST 2005


  Hi Matthieu,

On Tue, 2005-01-25 at 18:49 +0100, matthieu castet wrote: 
> Well I would done it in disconnect : the urb are initialized in probe, 
> so in the init function from the usb layer, so i would remove it in the 
> cleaning function from usb layer : disconnect.
> For me cleanup is about things done in cxacru_heavy_init.

No, they are unrelated.  The cleanup function is a callback registered
with the refcounting mechanism to be called when the last reference to
the instance is dropped.  The references can live beyond disconnect
(e.g. while the ATM device has open connections) and so should the
instance.

usbatm2 doesn't have this complexity (if it is a complexity) and makes
sure all the references to the minidriver instance are dropped at
disconnect time.  (To Duncan: this is the argument in favour of
synchronous shutdown that I would buy :)

Cheers,
  Roman.





More information about the Usbatm mailing list