diff options
author | Daniel Mack <zonque@gmail.com> | 2013-03-17 08:07:24 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-03-18 03:47:04 -0400 |
commit | 2fcdb06d4919da89ed6d52742dcc83ae4669ac30 (patch) | |
tree | 02cefac4b439af920296a6e9d6a0655ef0bc5dee | |
parent | 59ea586f54f27fde1202214f1525713356a44918 (diff) |
ALSA: snd-usb: handle the bmFormats field as unsigned int
This field may use up to 32 bits, so it should be handled as unsigned
int.
Signed-off-by: Daniel Mack <zonque@gmail.com>
Reported-by: Andreas Koch <andreas@akdesigninc.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/usb/format.c | 9 | ||||
-rw-r--r-- | sound/usb/format.h | 2 | ||||
-rw-r--r-- | sound/usb/stream.c | 2 |
3 files changed, 7 insertions, 6 deletions
diff --git a/sound/usb/format.c b/sound/usb/format.c index e831ee4238bb..b30d6fb89b40 100644 --- a/sound/usb/format.c +++ b/sound/usb/format.c | |||
@@ -43,7 +43,7 @@ | |||
43 | */ | 43 | */ |
44 | static u64 parse_audio_format_i_type(struct snd_usb_audio *chip, | 44 | static u64 parse_audio_format_i_type(struct snd_usb_audio *chip, |
45 | struct audioformat *fp, | 45 | struct audioformat *fp, |
46 | int format, void *_fmt, | 46 | unsigned int format, void *_fmt, |
47 | int protocol) | 47 | int protocol) |
48 | { | 48 | { |
49 | int sample_width, sample_bytes; | 49 | int sample_width, sample_bytes; |
@@ -353,7 +353,7 @@ err: | |||
353 | * parse the format type I and III descriptors | 353 | * parse the format type I and III descriptors |
354 | */ | 354 | */ |
355 | static int parse_audio_format_i(struct snd_usb_audio *chip, | 355 | static int parse_audio_format_i(struct snd_usb_audio *chip, |
356 | struct audioformat *fp, int format, | 356 | struct audioformat *fp, unsigned int format, |
357 | struct uac_format_type_i_continuous_descriptor *fmt, | 357 | struct uac_format_type_i_continuous_descriptor *fmt, |
358 | struct usb_host_interface *iface) | 358 | struct usb_host_interface *iface) |
359 | { | 359 | { |
@@ -473,8 +473,9 @@ static int parse_audio_format_ii(struct snd_usb_audio *chip, | |||
473 | return ret; | 473 | return ret; |
474 | } | 474 | } |
475 | 475 | ||
476 | int snd_usb_parse_audio_format(struct snd_usb_audio *chip, struct audioformat *fp, | 476 | int snd_usb_parse_audio_format(struct snd_usb_audio *chip, |
477 | int format, struct uac_format_type_i_continuous_descriptor *fmt, | 477 | struct audioformat *fp, unsigned int format, |
478 | struct uac_format_type_i_continuous_descriptor *fmt, | ||
478 | int stream, struct usb_host_interface *iface) | 479 | int stream, struct usb_host_interface *iface) |
479 | { | 480 | { |
480 | int err; | 481 | int err; |
diff --git a/sound/usb/format.h b/sound/usb/format.h index 387924f0af85..6f315226f320 100644 --- a/sound/usb/format.h +++ b/sound/usb/format.h | |||
@@ -2,7 +2,7 @@ | |||
2 | #define __USBAUDIO_FORMAT_H | 2 | #define __USBAUDIO_FORMAT_H |
3 | 3 | ||
4 | int snd_usb_parse_audio_format(struct snd_usb_audio *chip, | 4 | int snd_usb_parse_audio_format(struct snd_usb_audio *chip, |
5 | struct audioformat *fp, int format, | 5 | struct audioformat *fp, unsigned int format, |
6 | struct uac_format_type_i_continuous_descriptor *fmt, | 6 | struct uac_format_type_i_continuous_descriptor *fmt, |
7 | int stream, struct usb_host_interface *iface); | 7 | int stream, struct usb_host_interface *iface); |
8 | 8 | ||
diff --git a/sound/usb/stream.c b/sound/usb/stream.c index ad181d538bd9..ad0704656fe5 100644 --- a/sound/usb/stream.c +++ b/sound/usb/stream.c | |||
@@ -463,7 +463,7 @@ int snd_usb_parse_audio_interface(struct snd_usb_audio *chip, int iface_no) | |||
463 | struct usb_host_interface *alts; | 463 | struct usb_host_interface *alts; |
464 | struct usb_interface_descriptor *altsd; | 464 | struct usb_interface_descriptor *altsd; |
465 | int i, altno, err, stream; | 465 | int i, altno, err, stream; |
466 | int format = 0, num_channels = 0; | 466 | unsigned int format = 0, num_channels = 0; |
467 | struct audioformat *fp = NULL; | 467 | struct audioformat *fp = NULL; |
468 | int num, protocol, clock = 0; | 468 | int num, protocol, clock = 0; |
469 | struct uac_format_type_i_continuous_descriptor *fmt; | 469 | struct uac_format_type_i_continuous_descriptor *fmt; |