usb: gadget: f_uac2: restructure some code in afunc_set_alt()
authorDaniel Mack <zonque@gmail.com>
Wed, 27 Aug 2014 17:09:03 +0000 (19:09 +0200)
committerFelipe Balbi <balbi@ti.com>
Tue, 2 Sep 2014 14:17:04 +0000 (09:17 -0500)
Restructure some code to make it easier to read.

While at it, return -ENOMEM instead of -EINVAL if
usb_ep_alloc_request() fails, and omit the logging in such cases
(the mm core will complain loud enough).

Signed-off-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/function/f_uac2.c

index 0d65e7c08a934446365b6530d4f3fb111943b9b8..ab4652e423cee5cbe6765f1c2e109c57a9147517 100644 (file)
@@ -1104,31 +1104,24 @@ afunc_set_alt(struct usb_function *fn, unsigned intf, unsigned alt)
        usb_ep_enable(ep);
 
        for (i = 0; i < USB_XFERS; i++) {
-               if (prm->ureq[i].req) {
-                       if (usb_ep_queue(ep, prm->ureq[i].req, GFP_ATOMIC))
-                               dev_err(&uac2->pdev.dev, "%d Error!\n",
-                                       __LINE__);
-                       continue;
-               }
-
-               req = usb_ep_alloc_request(ep, GFP_ATOMIC);
-               if (req == NULL) {
-                       dev_err(&uac2->pdev.dev,
-                               "%s:%d Error!\n", __func__, __LINE__);
-                       return -EINVAL;
+               if (!prm->ureq[i].req) {
+                       req = usb_ep_alloc_request(ep, GFP_ATOMIC);
+                       if (req == NULL)
+                               return -ENOMEM;
+
+                       prm->ureq[i].req = req;
+                       prm->ureq[i].pp = prm;
+
+                       req->zero = 0;
+                       req->context = &prm->ureq[i];
+                       req->length = prm->max_psize;
+                       req->complete = agdev_iso_complete;
+                       req->buf = prm->rbuf + i * req->length;
                }
 
-               prm->ureq[i].req = req;
-               prm->ureq[i].pp = prm;
-
-               req->zero = 0;
-               req->context = &prm->ureq[i];
-               req->length = prm->max_psize;
-               req->complete = agdev_iso_complete;
-               req->buf = prm->rbuf + i * req->length;
-
-               if (usb_ep_queue(ep, req, GFP_ATOMIC))
-                       dev_err(&uac2->pdev.dev, "%d Error!\n", __LINE__);
+               if (usb_ep_queue(ep, prm->ureq[i].req, GFP_ATOMIC))
+                       dev_err(&uac2->pdev.dev, "%s:%d Error!\n",
+                               __func__, __LINE__);
        }
 
        return 0;