if (err < 0)
                return err;
 #if 1
-       /* FIXME: temporary hack for extigy */
+       /* FIXME: temporary hack for extigy/audigy 2 nx */
        /* extigy apparently supports sample rates other than 48k
         * but not in ordinary way.  so we enable only 48k atm.
         */
        if (le16_to_cpu(dev->descriptor.idVendor) == 0x041e && 
-           le16_to_cpu(dev->descriptor.idProduct) == 0x3000) {
+           (le16_to_cpu(dev->descriptor.idProduct) == 0x3000 ||
+            le16_to_cpu(dev->descriptor.idProduct) == 0x3020)) {
                if (fmt[3] == USB_FORMAT_TYPE_I &&
                    stream == SNDRV_PCM_STREAM_PLAYBACK &&
-                   fp->rates != SNDRV_PCM_RATE_48000)
+                   fp->rates != SNDRV_PCM_RATE_48000 &&
+                   fp->rates != SNDRV_PCM_RATE_96000)
                        return -1; /* use 48k only */
        }
 #endif