USB: gadget: udc: fix const issue in gadget_match_driver()
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 May 2025 13:41:40 +0000 (15:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 May 2025 10:34:09 +0000 (12:34 +0200)
gadget_match_driver() takes a const pointer, and then decides to cast it
away into a non-const one, which is not a good thing to do overall.  Fix
this up by properly setting the pointers to be const to preserve that
attribute.

Fixes: d69d80484598 ("driver core: have match() callback in struct bus_type take a const *")
Link: https://lore.kernel.org/r/2025052139-rash-unsaddle-7c5e@gregkh
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/udc/core.c

index 4b3d5075621aa060f3fce0c5d6f8d4d6afe08ad6..d709e24c1fd4228c47f877d097faf987975ac392 100644 (file)
@@ -1570,7 +1570,7 @@ static int gadget_match_driver(struct device *dev, const struct device_driver *d
 {
        struct usb_gadget *gadget = dev_to_usb_gadget(dev);
        struct usb_udc *udc = gadget->udc;
-       struct usb_gadget_driver *driver = container_of(drv,
+       const struct usb_gadget_driver *driver = container_of(drv,
                        struct usb_gadget_driver, driver);
 
        /* If the driver specifies a udc_name, it must match the UDC's name */