]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: misc: onboard_usb_dev: skip suspend/resume sequence for USB5744 SMBus support
authorRadhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Mon, 2 Dec 2024 18:48:22 +0000 (00:18 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Dec 2024 17:12:58 +0000 (18:12 +0100)
commit ce15d6b3d5c3c6f78290066be0f0a4fd89cdeb5b upstream.

USB5744 SMBus initialization is done once in probe() and doing it in resume
is not supported so avoid going into suspend and reset the HUB.

There is a sysfs property 'always_powered_in_suspend' to implement this
feature but since default state should be set to a working configuration
so override this property value.

It fixes the suspend/resume testcase on Kria KR260 Robotics Starter Kit.

Fixes: 6782311d04df ("usb: misc: onboard_usb_dev: add Microchip usb5744 SMBus programming support")
Cc: stable@vger.kernel.org
Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Link: https://lore.kernel.org/r/1733165302-1694891-1-git-send-email-radhey.shyam.pandey@amd.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/onboard_usb_dev.c

index 75dfdca04ff1c26381020ebb1917bc9155a6a28f..27b0a6e182678be4a1be577175177a2a1efa7373 100644 (file)
@@ -407,8 +407,10 @@ static int onboard_dev_probe(struct platform_device *pdev)
                }
 
                if (of_device_is_compatible(pdev->dev.of_node, "usb424,2744") ||
-                   of_device_is_compatible(pdev->dev.of_node, "usb424,5744"))
+                   of_device_is_compatible(pdev->dev.of_node, "usb424,5744")) {
                        err = onboard_dev_5744_i2c_init(client);
+                       onboard_dev->always_powered_in_suspend = true;
+               }
 
                put_device(&client->dev);
                if (err < 0)