--- zzzz-none-000/linux-3.10.107/sound/usb/usx2y/us122l.c 2017-06-27 09:49:32.000000000 +0000 +++ scorpion-7490-727/linux-3.10.107/sound/usb/usx2y/us122l.c 2021-02-04 17:41:59.000000000 +0000 @@ -535,7 +535,9 @@ snd_us122l_card_used[index] = 0; } -static int usx2y_create_card(struct usb_device *device, struct snd_card **cardp) +static int usx2y_create_card(struct usb_device *device, + struct usb_interface *intf, + struct snd_card **cardp) { int dev; struct snd_card *card; @@ -546,8 +548,8 @@ break; if (dev >= SNDRV_CARDS) return -ENODEV; - err = snd_card_create(index[dev], id[dev], THIS_MODULE, - sizeof(struct us122l), &card); + err = snd_card_new(&intf->dev, index[dev], id[dev], THIS_MODULE, + sizeof(struct us122l), &card); if (err < 0) return err; snd_us122l_card_used[US122L(card)->card_index = dev] = 1; @@ -578,11 +580,10 @@ struct snd_card *card; int err; - err = usx2y_create_card(device, &card); + err = usx2y_create_card(device, intf, &card); if (err < 0) return err; - snd_card_set_dev(card, &intf->dev); if (!us122l_create_card(card)) { snd_card_free(card); return -EINVAL;