diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/usb/usbmixer.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c index 89c63d073cc6..5f98bee06959 100644 --- a/sound/usb/usbmixer.c +++ b/sound/usb/usbmixer.c | |||
@@ -59,12 +59,13 @@ static const struct rc_config { | |||
59 | u8 offset; | 59 | u8 offset; |
60 | u8 length; | 60 | u8 length; |
61 | u8 packet_length; | 61 | u8 packet_length; |
62 | u8 min_packet_length; /* minimum accepted length of the URB result */ | ||
62 | u8 mute_mixer_id; | 63 | u8 mute_mixer_id; |
63 | u32 mute_code; | 64 | u32 mute_code; |
64 | } rc_configs[] = { | 65 | } rc_configs[] = { |
65 | { USB_ID(0x041e, 0x3000), 0, 1, 2, 18, 0x0013 }, /* Extigy */ | 66 | { USB_ID(0x041e, 0x3000), 0, 1, 2, 1, 18, 0x0013 }, /* Extigy */ |
66 | { USB_ID(0x041e, 0x3020), 2, 1, 6, 18, 0x0013 }, /* Audigy 2 NX */ | 67 | { USB_ID(0x041e, 0x3020), 2, 1, 6, 6, 18, 0x0013 }, /* Audigy 2 NX */ |
67 | { USB_ID(0x041e, 0x3040), 2, 2, 6, 2, 0x6e91 }, /* Live! 24-bit */ | 68 | { USB_ID(0x041e, 0x3040), 2, 2, 6, 6, 2, 0x6e91 }, /* Live! 24-bit */ |
68 | }; | 69 | }; |
69 | 70 | ||
70 | struct usb_mixer_interface { | 71 | struct usb_mixer_interface { |
@@ -1781,7 +1782,7 @@ static void snd_usb_soundblaster_remote_complete(struct urb *urb) | |||
1781 | const struct rc_config *rc = mixer->rc_cfg; | 1782 | const struct rc_config *rc = mixer->rc_cfg; |
1782 | u32 code; | 1783 | u32 code; |
1783 | 1784 | ||
1784 | if (urb->status < 0 || urb->actual_length < rc->packet_length) | 1785 | if (urb->status < 0 || urb->actual_length < rc->min_packet_length) |
1785 | return; | 1786 | return; |
1786 | 1787 | ||
1787 | code = mixer->rc_buffer[rc->offset]; | 1788 | code = mixer->rc_buffer[rc->offset]; |