Loading sound/usb/mixer.c +10 −2 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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 Loading sound/usb/mixer.h +2 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading Loading
sound/usb/mixer.c +10 −2 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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 Loading
sound/usb/mixer.h +2 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading