usb: gadget: printer: call usb_add_function() last
authorAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Tue, 3 Mar 2015 09:52:14 +0000 (10:52 +0100)
committerFelipe Balbi <balbi@ti.com>
Tue, 10 Mar 2015 20:33:36 +0000 (15:33 -0500)
Conversion to the new function interface requires splitting a
<something>_bind_config() function into two parts: allocation of
container_of struct usb_function and invocation of usb_add_function().
This patch moves the latter to the end of the f_printer_bind_config()
in order to enable conversion to the new interface.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/legacy/printer.c

index c8570441a303680eb33aff081c8c9d051da5a2ba..5dbb93a91512b4a15a0e64ebe19600b2f53b999e 100644 (file)
@@ -1254,11 +1254,6 @@ static int f_printer_bind_config(struct usb_configuration *c, char *pnp_str,
        INIT_LIST_HEAD(&dev->rx_reqs);
        INIT_LIST_HEAD(&dev->rx_buffers);
 
-       dev->q_len = q_len;
-       status = usb_add_function(c, &dev->function);
-       if (status)
-               return status;
-
        if (pnp_str)
                strlcpy(&pnp_string[2], pnp_str, sizeof(pnp_string) - 2);
 
@@ -1280,7 +1275,11 @@ static int f_printer_bind_config(struct usb_configuration *c, char *pnp_str,
        dev->current_rx_req = NULL;
        dev->current_rx_bytes = 0;
        dev->current_rx_buf = NULL;
+       dev->q_len = q_len;
 
+       status = usb_add_function(c, &dev->function);
+       if (status)
+               return status;
        INFO(dev, "%s, version: " DRIVER_VERSION "\n", driver_desc);
        return 0;
 }