Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 430fdbd3 authored by Daniel Mack's avatar Daniel Mack Committed by Felipe Balbi
Browse files

usb: gadget: f_uac2: restructure some code in afunc_set_alt()



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: default avatarDaniel Mack <zonque@gmail.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 4953ef65
Loading
Loading
Loading
Loading
+16 −23
Original line number Diff line number Diff line
@@ -1104,19 +1104,10 @@ 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;
		}

		if (!prm->ureq[i].req) {
			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 (req == NULL)
				return -ENOMEM;

			prm->ureq[i].req = req;
			prm->ureq[i].pp = prm;
@@ -1126,9 +1117,11 @@ afunc_set_alt(struct usb_function *fn, unsigned intf, unsigned alt)
			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;