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

Commit d2d97708 authored by Markus Elfring's avatar Markus Elfring Committed by Takashi Iwai
Browse files

ALSA: usx2y: Use common error handling code in submit_urbs()



Add a jump target so that a bit of exception handling can be better reused
at the end of this function.

This issue was detected by using the Coccinelle software.

Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 80753cdf
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -352,20 +352,22 @@ static int submit_urbs(struct usb_stream_kernel *sk,
	int err;
	prepare_inurb(sk->idle_outurb->number_of_packets, sk->idle_inurb);
	err = usb_submit_urb(sk->idle_inurb, GFP_ATOMIC);
	if (err < 0) {
		snd_printk(KERN_ERR "%i\n", err);
		return err;
	}
	if (err < 0)
		goto report_failure;

	sk->idle_inurb = sk->completed_inurb;
	sk->completed_inurb = inurb;
	err = usb_submit_urb(sk->idle_outurb, GFP_ATOMIC);
	if (err < 0) {
		snd_printk(KERN_ERR "%i\n", err);
		return err;
	}
	if (err < 0)
		goto report_failure;

	sk->idle_outurb = sk->completed_outurb;
	sk->completed_outurb = outurb;
	return 0;

report_failure:
	snd_printk(KERN_ERR "%i\n", err);
	return err;
}

#ifdef DEBUG_LOOP_BACK