• Alan Stern's avatar
    USB: fix bugs in usb_(de)authorize_device · da307123
    Alan Stern authored
    This patch (as1315) fixes some bugs in the USB core authorization
    code:
    
    	usb_deauthorize_device() should deallocate the device strings
    	instead of leaking them, and it should invoke
    	usb_destroy_configuration() (which does proper reference
    	counting) instead of freeing the config information directly.
    
    	usb_authorize_device() shouldn't change the device strings
    	until it knows that the authorization will succeed, and it should
    	autosuspend the device at the end (having autoresumed the
    	device at the start).
    
    	Because the device strings can be changed, the sysfs routines
    	to display the strings must protect the string pointers by
    	locking the device.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    CC: Inaky Perez-Gonzalez <inaky@linux.intel.com>
    Acked-by: default avatarDavid Vrabel <david.vrabel@csr.com>
    Cc: stable <stable@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    
    da307123
sysfs.c 21.8 KB