From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Date: Thu, 26 Sep 2013 08:36:29 +0000 Subject: Re: Cannot load snd-usb-audio on 3.12-rc2 Message-Id: List-Id: References: <20130923234107.GA4876@xanatos> In-Reply-To: <20130923234107.GA4876@xanatos> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Sarah Sharp Cc: Jaroslav Kysela , linux-usb@vger.kernel.org, linux-sound@vger.kernel.org, alsa-devel@alsa-project.org 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@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? thanks, Takashi --- 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)