usb: host: xhci: drop redundant checks
authorSergey Shtylyov <s.shtylyov@omp.ru>
Wed, 16 Feb 2022 09:51:52 +0000 (11:51 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Feb 2022 15:20:46 +0000 (16:20 +0100)
In xhci_endpoint_{disable|reset}() the expression '&vdev->eps[ep_index]'
just cannot be NULL, so the checks have no sense at all...

Found by Linux Verification Center (linuxtesting.org) with the SVACE static
analysis tool.

Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20220216095153.1303105-9-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci.c

index 2a58677..33bae43 100644 (file)
@@ -3150,8 +3150,6 @@ rescan:
 
        ep_index = xhci_get_endpoint_index(&host_ep->desc);
        ep = &vdev->eps[ep_index];
-       if (!ep)
-               goto done;
 
        /* wait for hub_tt_work to finish clearing hub TT */
        if (ep->ep_state & EP_CLEARING_TT) {
@@ -3209,8 +3207,6 @@ static void xhci_endpoint_reset(struct usb_hcd *hcd,
                return;
        ep_index = xhci_get_endpoint_index(&host_ep->desc);
        ep = &vdev->eps[ep_index];
-       if (!ep)
-               return;
 
        /* Bail out if toggle is already being cleared by a endpoint reset */
        spin_lock_irqsave(&xhci->lock, flags);