• Eugeniu Rosca's avatar
    usb: core: hub: fix unhandled return by employing a void function · 63d6d7ed
    Eugeniu Rosca authored
    Address below Coverity complaint (Feb 25, 2020, 8:06 AM CET):
    
    *** CID 1458999:  Error handling issues  (CHECKED_RETURN)
    /drivers/usb/core/hub.c: 1869 in hub_probe()
    1863
    1864            if (id->driver_info & HUB_QUIRK_CHECK_PORT_AUTOSUSPEND)
    1865                    hub->quirk_check_port_auto_suspend = 1;
    1866
    1867            if (id->driver_info & HUB_QUIRK_DISABLE_AUTOSUSPEND) {
    1868                    hub->quirk_disable_autosuspend = 1;
     >>>     CID 1458999:  Error handling issues  (CHECKED_RETURN)
     >>>     Calling "usb_autopm_get_interface" without checking return value (as is done elsewhere 97 out of 111 times).
    1869                    usb_autopm_get_interface(intf);
    1870            }
    1871
    1872            if (hub_configure(hub, &desc->endpoint[0].desc) >= 0)
    1873                    return 0;
    1874
    
    Rather than checking the return value of 'usb_autopm_get_interface()',
    switch to the usb_autopm_get_interface_no_resume() API, as per:
    
    On Tue, Feb 25, 2020 at 10:32:32AM -0500, Alan Stern wrote:
     ------ 8< ------
     > This change (i.e. 'ret = usb_autopm_get_interface') is not necessary,
     > because the resume operation cannot fail at this point (interfaces
     > are always powered-up during probe). A better solution would be to
     > call usb_autopm_get_interface_no_resume() instead.
     ------ 8< ------
    
    Fixes: 1208f9e1 ("USB: hub: Fix the broken detection of USB3 device in SMSC hub")
    Cc: Hardik Gajjar <hgajjar@de.adit-jv.com>
    Cc: stable@vger.kernel.org # v4.14+
    Reported-by: scan-admin@coverity.com
    Suggested-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarEugeniu Rosca <erosca@de.adit-jv.com>
    Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Link: https://lore.kernel.org/r/20200226175036.14946-1-erosca@de.adit-jv.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    63d6d7ed
hub.c 174 KB