ALSA's core will only take the last part of a string from the shortname, hence replace all ' ' by '_'. For example, the card name 'Audio 4 DJ' was shortened to 'DJ' before which doesn't look nice at all.
Signed-off-by: Daniel Mack daniel@caiaq.de --- sound/usb/caiaq/device.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/sound/usb/caiaq/device.c b/sound/usb/caiaq/device.c index 9be0f2e..4756b48 100644 --- a/sound/usb/caiaq/device.c +++ b/sound/usb/caiaq/device.c @@ -435,6 +435,11 @@ static int __devinit init_card(struct snd_usb_caiaqdev *dev) strcpy(card->driver, MODNAME); strcpy(card->shortname, dev->product_name);
+ /* replace ' ' with '_' in device shortname */ + for (c = card->shortname; *c; c++) + if (*c == ' ') + *c = '_'; + len = snprintf(card->longname, sizeof(card->longname), "%s %s (serial %s, ", dev->vendor_name, dev->product_name, dev->serial);