--- device.c 2009-01-27 15:25:50.000000000 +0100 +++ device_patched.c 2009-09-15 :17:23.955387329 +0200 @@ -1660,7 +1660,8 @@ static int snd_hdj_chip_create(struct us /* let the kernel option override custom id */ strncpy(card_id,id[idx],sizeof(card_id)-1); } - card = snd_card_new(index[idx], card_id/*id[idx]*/, THIS_MODULE, 0); + //card = snd_card_new(index[idx], card_id/*id[idx]*/, THIS_MODULE, 0); + snd_card_create(index[idx], card_id/*id[idx]*/, THIS_MODULE, 0, &card); if (card == NULL) { snd_printk(KERN_WARNING "snd_hdj_chip_create(): cannot create card instance %d\n", idx); return -ENOMEM;