• Alan Stern's avatar
    USB: fix bug in serial driver unregistration · 891a3b1f
    Alan Stern authored
    This patch (as1536) fixes a bug in the USB serial core.  Unloading and
    reloading a serial driver while a serial device is plugged in causes
    errors because of the code in usb_serial_disconnect() that tries to
    make sure the port_remove method is called.  With the new order of
    driver registration introduced in the 3.4 kernel, this is definitely
    not the right thing to do (if indeed it ever was).
    
    The patch removes that whole section code, along with the mechanism
    for keeping track of each port's registration state, which is no
    longer needed.  The driver core can handle all that stuff for us.
    
    Note: This has been tested only with one or two USB serial drivers.
    In theory, other drivers might still run into trouble.  But if they
    do, it will be the fault of the drivers, not of this patch -- that is,
    the drivers will need to be fixed.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Reported-and-tested-by: default avatarJohan Hovold <jhovold@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    891a3b1f
bus.c 3.97 KB