• A
    [PATCH] USB: Remove USB private semaphore · 9ad3d6cc
    Alan Stern 提交于
    This patch (as605) removes the private udev->serialize semaphore,
    relying instead on the locking provided by the embedded struct device's
    semaphore.  The changes are confined to the core, except that the
    usb_trylock_device routine now uses the return convention of
    down_trylock rather than down_read_trylock (they return opposite values
    for no good reason).
    
    A couple of other associated changes are included as well:
    
    	Now that we aren't concerned about HCDs that avoid using the
    	hcd glue layer, usb_disconnect no longer needs to acquire the
    	usb_bus_lock -- that can be done by usb_remove_hcd where it
    	belongs.
    
    	Devices aren't locked over the same scope of code in
    	usb_new_device and hub_port_connect_change as they used to be.
    	This shouldn't cause any trouble.
    
    Along with the preceding driver core patch, this needs a lot of testing.
    Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
    9ad3d6cc
hub.c 81.4 KB