> >
> >-static int __init usba_udc_probe(struct platform_device *pdev)
> >+#ifdef CONFIG_OF
> >+static struct usba_ep * atmel_udc_of_init(struct platform_device *pdev,
> >+                                                struct usba_udc *udc)
> >+{
> >+    u32 val;
> >+    const char *name;
> >+    enum of_gpio_flags flags;
> >+    struct device_node *np = pdev->dev.of_node;
> >+    struct device_node *pp;
> >+    int i, ret;
> >+    struct usba_ep *eps, *ep;
> >+
> >+    udc->num_ep = 0;
> >+
> >+    udc->vbus_pin = of_get_named_gpio_flags(np, "atmel,vbus-gpio", 0,
> >+                                            &flags);
> >+    udc->vbus_pin_inverted = (flags & OF_GPIO_ACTIVE_LOW) ? 1 : 0;
> >+
> >+    pp = NULL;
> >+    while ((pp = of_get_next_child(np, pp)))
> >+            udc->num_ep++;
> >+
> >+    eps = devm_kzalloc(&pdev->dev, sizeof(struct usba_ep) * udc->num_ep,
> >+                       GFP_KERNEL);
> 
> Using devm_kzalloc will cause issue when build as modules, and load
> and unload this driver, the second time unload, it will come out
> following segment fault, log as following. Using kzalloc will fix
> it.

no devm_kzalloc is the right one to use

if there is a this not in the drivers and kzalloc is not the solution
we need to find the real reason as devm_xxx are used everywhere by now

Best Regards,
J.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to