Add in the missing null check for udc->driver that is present at other
points in the function before it is dereferenced.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <[email protected]>
---
 drivers/usb/gadget/atmel_usba_udc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/atmel_usba_udc.c 
b/drivers/usb/gadget/atmel_usba_udc.c
index 
72f68dba3a741b7f0aac8ba89b83eefb5e0cce4f..f7a92ded6dab187475249874db37d81a07bf5b9e
 100644
--- a/drivers/usb/gadget/atmel_usba_udc.c
+++ b/drivers/usb/gadget/atmel_usba_udc.c
@@ -1147,7 +1147,7 @@ static int usba_udc_irq(struct usba_udc *udc)
                reset_all_endpoints(udc);
 
                if (udc->gadget.speed != USB_SPEED_UNKNOWN &&
-                   udc->driver->disconnect) {
+                   udc->driver && udc->driver->disconnect) {
                        udc->gadget.speed = USB_SPEED_UNKNOWN;
                        spin_unlock(&udc->lock);
                        udc->driver->disconnect(&udc->gadget);

---
base-commit: 9710d98e8942151fc0c62d54100d9d27e8263d04
change-id: 20250929-atmel_usba_udc-046059597928

Best regards,
-- 
Andrew Goodbody <[email protected]>

Reply via email to