]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: cdnsp: do not disable slot for disabled slot
authorPeter Chen <peter.chen@cixtech.com>
Thu, 19 Jun 2025 01:34:13 +0000 (09:34 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 13:57:49 +0000 (15:57 +0200)
commit 7e2c421ef88e9da9c39e01496b7f5b0b354b42bc upstream.

It doesn't need to do it, and the related command event returns
'Slot Not Enabled Error' status.

Fixes: 3d82904559f4 ("usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver")
Cc: stable <stable@kernel.org>
Suggested-by: Hongliang Yang <hongliang.yang@cixtech.com>
Reviewed-by: Fugang Duan <fugang.duan@cixtech.com>
Signed-off-by: Peter Chen <peter.chen@cixtech.com>
Link: https://lore.kernel.org/r/20250619013413.35817-1-peter.chen@cixtech.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/cdns3/cdnsp-ring.c

index 6247584cb93913a459d51021bf074964853d5be9..c9ad4280f4ba238145eaf7e0a0b9b95e0b67ba2a 100644 (file)
@@ -772,7 +772,9 @@ static int cdnsp_update_port_id(struct cdnsp_device *pdev, u32 port_id)
        }
 
        if (port_id != old_port) {
-               cdnsp_disable_slot(pdev);
+               if (pdev->slot_id)
+                       cdnsp_disable_slot(pdev);
+
                pdev->active_port = port;
                cdnsp_enable_slot(pdev);
        }