usb: gadget: Fix setting self-powered state on suspend

commit c783e1258f29c5caac9eea0aea6b172870f1baf8 upstream.

cdev->config might be NULL, so check it before dereferencing.

CC: stable <stable@kernel.org>
Fixes: 40e89ff5750f ("usb: gadget: Set self-powered based on MaxPower and bmAttributes")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20250220120314.3614330-1-m.szyprowski@samsung.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Marek Szyprowski
2025-02-20 13:03:14 +01:00
committed by Greg Kroah-Hartman
parent b7768bba6a
commit 0af020298b

View File

@@ -2616,7 +2616,8 @@ void composite_suspend(struct usb_gadget *gadget)
cdev->suspended = 1;
if (cdev->config->bmAttributes & USB_CONFIG_ATT_SELFPOWER)
if (cdev->config &&
cdev->config->bmAttributes & USB_CONFIG_ATT_SELFPOWER)
usb_gadget_set_selfpowered(gadget);
usb_gadget_vbus_draw(gadget, 2);