• Alan Stern's avatar
    USB: hub: fix up early-exit pathway in hub_activate · ca5cbc8b
    Alan Stern authored
    The early-exit pathway in hub_activate, added by commit e50293ef
    ("USB: fix invalid memory access in hub_activate()") needs
    improvement.  It duplicates code that is already present at the end of
    the subroutine, and it neglects to undo the effect of a
    usb_autopm_get_interface_no_resume() call.
    
    This patch fixes both problems by making the early-exit pathway jump
    directly to the end of the subroutine.  It simplifies the code at the
    end by merging two conditionals that actually test the same condition
    although they appear different: If type < HUB_INIT3 then type must be
    either HUB_INIT2 or HUB_INIT, and it can't be HUB_INIT because in that
    case the subroutine would have exited earlier.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    CC: <stable@vger.kernel.org> #4.4+
    Reviewed-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ca5cbc8b
hub.c 165 KB