diff -urp alsa-driver-1.0.9b/alsa-kernel/i2c/other/ak4114.c alsa-driver-1.0.9b-suspend2/alsa-kernel/i2c/other/ak4114.c --- alsa-driver-1.0.9b/alsa-kernel/i2c/other/ak4114.c 2005-03-15 17:56:07.000000000 +0100 +++ alsa-driver-1.0.9b-suspend2/alsa-kernel/i2c/other/ak4114.c 2005-10-31 20:56:37.000000000 +0100 @@ -106,7 +106,11 @@ int snd_ak4114_create(snd_card_t *card, for (reg = 0; reg < 5; reg++) chip->txcsb[reg] = txcsb[reg]; +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13) && defined (PF_SYNCTHREAD) + chip->workqueue = create_workqueue("snd-ak4114", 0); +#else chip->workqueue = create_workqueue("snd-ak4114"); +#endif if (chip->workqueue == NULL) { kfree(chip); return -ENOMEM; diff -urp alsa-driver-1.0.9b/alsa-kernel/pci/hda/hda_codec.c alsa-driver-1.0.9b-suspend2/alsa-kernel/pci/hda/hda_codec.c --- alsa-driver-1.0.9b/alsa-kernel/pci/hda/hda_codec.c 2005-05-15 15:30:10.000000000 +0200 +++ alsa-driver-1.0.9b-suspend2/alsa-kernel/pci/hda/hda_codec.c 2005-10-31 20:57:14.000000000 +0100 @@ -293,7 +293,11 @@ static int init_unsol_queue(struct hda_b snd_printk(KERN_ERR "hda_codec: can't allocate unsolicited queue\n"); return -ENOMEM; } +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13) && defined (PF_SYNCTHREAD) + unsol->workq = create_workqueue("hda_codec", 0); +#else unsol->workq = create_workqueue("hda_codec"); +#endif if (! unsol->workq) { snd_printk(KERN_ERR "hda_codec: can't create workqueue\n"); kfree(unsol);