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

Commit 9d83bd15 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ALSA: usb-audio: Kill stray URB at exiting"

parents f1fe9be8 517b3f07
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -2434,6 +2434,9 @@ static int parse_audio_unit(struct mixer_build *state, int unitid)

static void snd_usb_mixer_free(struct usb_mixer_interface *mixer)
{
	/* kill pending URBs */
	snd_usb_mixer_disconnect(mixer);

	kfree(mixer->id_elems);
	if (mixer->urb) {
		kfree(mixer->urb->transfer_buffer);
@@ -2860,8 +2863,13 @@ _error:

void snd_usb_mixer_disconnect(struct usb_mixer_interface *mixer)
{
	if (mixer->disconnected)
		return;
	if (mixer->urb)
		usb_kill_urb(mixer->urb);
	if (mixer->rc_urb)
		usb_kill_urb(mixer->rc_urb);
	mixer->disconnected = true;
}

#ifdef CONFIG_PM
+2 −0
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@ struct usb_mixer_interface {
	struct urb *rc_urb;
	struct usb_ctrlrequest *rc_setup_packet;
	u8 rc_buffer[6];

	bool disconnected;
};

#define MAX_CHANNELS	16	/* max logical channels */