ALSA: oxfw: fix regression to handle Stanton SCS.1m/1d

commit 3d016d57fd upstream.

At a commit 6c29230e2a ("ALSA: oxfw: delayed registration of sound
card"), ALSA oxfw driver fails to handle SCS.1m/1d, due to -EBUSY at a call
of snd_card_register(). The cause is that the driver manages to register
two rawmidi instances with the same device number 0. This is a regression
introduced since kernel 4.7.

This commit fixes the regression, by fixing up device property after
discovering stream formats.

Fixes: 6c29230e2a ("ALSA: oxfw: delayed registration of sound card")
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Takashi Sakamoto
2017-04-03 21:13:40 +09:00
committed by Greg Kroah-Hartman
parent f62c458680
commit a33e886d3f

View File

@@ -226,11 +226,11 @@ static void do_registration(struct work_struct *work)
if (err < 0) if (err < 0)
goto error; goto error;
err = detect_quirks(oxfw); err = snd_oxfw_stream_discover(oxfw);
if (err < 0) if (err < 0)
goto error; goto error;
err = snd_oxfw_stream_discover(oxfw); err = detect_quirks(oxfw);
if (err < 0) if (err < 0)
goto error; goto error;