• Alan Stern's avatar
    USB: check for hub driver not bound to root hub device · 25118084
    Alan Stern authored
    This patch (as1267) changes usb_kick_khubd() and hdev_to_hub() to make
    them more resilient against situations where a hub device isn't bound
    to the hub driver.  The code assumes that if a root hub was
    successfully registered then it must be bound to the hub driver.
    
    But this assumption can fail if the user manually unbinds the hub
    driver, or more importantly, if the host controller dies causing
    usb_set_configuration to fail.
    
    To protect against these possibilities, make hdev_to_hub() check that
    the hub device is configured before dereferencing the active
    configuration, and make usb_kick_khubd() check that the pointer to the
    hub's private data structure isn't NULL.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    25118084
hub.c 106 KB