• Dan Williams's avatar
    usb: refactor port handling in hub_events() · af376a46
    Dan Williams authored
    In preparation for synchronizing port handling with pm_runtime
    transitions refactor port handling into its own subroutine.
    
    We expect that clearing some status flags will be required regardless of
    the port state, so handle those first and group all non-trivial actions
    at the bottom of the routine.
    
    This also splits off the bottom half of hub_port_connect_change() into
    hub_port_reconnect() in prepartion for introducing a port->status_lock.
    hub_port_reconnect() will expect the port lock to not be held while
    hub_port_connect_change() expects to enter with it held.
    
    Other cleanups include:
    1/ reflowing to 80 columns
    2/ replacing redundant usages of 'hub->hdev' with 'hdev'
    3/ consolidate clearing of ->change_bits() in hub_port_connect_change
    4/ consolidate calls to usb_reset_device
    Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    af376a46
hub.c 157 KB