--- /dev/null
+--- 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 */\r
+ strncpy(card_id,id[idx],sizeof(card_id)-1);\r
+ }\r
+- card = snd_card_new(index[idx], card_id/*id[idx]*/, THIS_MODULE, 0);\r
++ //card = snd_card_new(index[idx], card_id/*id[idx]*/, THIS_MODULE, 0);\r
++ snd_card_create(index[idx], card_id/*id[idx]*/, THIS_MODULE, 0, &card);\r
+ if (card == NULL) {\r
+ snd_printk(KERN_WARNING "snd_hdj_chip_create(): cannot create card instance %d\n", idx);\r
+ return -ENOMEM;\r