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, 19 Jun 2025 10:33:56 +0000 (12:33 +0200)
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 fd06cb85c4ea84e084060f1a3d265985f8cacb9f..757fdd918286db5a848b19a4c0f5fbf67a5ac634 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);
        }