[alsa-devel] Cannot load snd-usb-audio on 3.12-rc2

Takashi Iwai tiwai at suse.de
Thu Sep 26 10:36:29 CEST 2013

At Mon, 23 Sep 2013 16:41:07 -0700,
Sarah Sharp wrote:
> The snd-usb-audio driver no longer loads properly on 3.12-rc2 when I
> plug in my USB headset.  It worked fine on 3.11-rc4 (not sure about
> vanilla 3.11).
> Trying to manually load the driver fails:
> sarah at xanatos:~$ sudo modprobe snd-usb-audio
> FATAL: Error inserting snd_usb_audio
> (/lib/modules/3.12.0-rc2/kernel/sound/usb/snd-usb-audio.ko): Invalid argument
> dmesg shows:
> [   44.231668] snd_usb_audio: `-2' invalid for parameter `index'

There is no corresponding code change in the USB audio driver side, so
I guess it must be in the module parameter parser that got broken.

Does the patch below fix?



diff --git a/kernel/params.c b/kernel/params.c
index 81c4e78..c00d5b5 100644
--- a/kernel/params.c
+++ b/kernel/params.c
@@ -254,11 +254,11 @@ int parse_args(const char *doing,
 STANDARD_PARAM_DEF(byte, unsigned char, "%hhu", unsigned long, kstrtoul);
-STANDARD_PARAM_DEF(short, short, "%hi", long, kstrtoul);
+STANDARD_PARAM_DEF(short, short, "%hi", long, kstrtol);
 STANDARD_PARAM_DEF(ushort, unsigned short, "%hu", unsigned long, kstrtoul);
-STANDARD_PARAM_DEF(int, int, "%i", long, kstrtoul);
+STANDARD_PARAM_DEF(int, int, "%i", long, kstrtol);
 STANDARD_PARAM_DEF(uint, unsigned int, "%u", unsigned long, kstrtoul);
-STANDARD_PARAM_DEF(long, long, "%li", long, kstrtoul);
+STANDARD_PARAM_DEF(long, long, "%li", long, kstrtol);
 STANDARD_PARAM_DEF(ulong, unsigned long, "%lu", unsigned long, kstrtoul);
 int param_set_charp(const char *val, const struct kernel_param *kp)

More information about the Alsa-devel mailing list