diff -Naur -X dontdiff /mnt/zip/linux-2.4.10/drivers/usb/CDCEther.c linux/drivers/usb/CDCEther.c
--- /mnt/zip/linux-2.4.10/drivers/usb/CDCEther.c	Mon Sep 24 18:53:51 2001
+++ linux/drivers/usb/CDCEther.c	Mon Sep 24 20:32:33 2001
@@ -31,11 +31,9 @@
 
 static const char *version = __FILE__ ": v0.98.5 22 Sep 2001 Brad Hards and another";
 
-/* We need to be selective about what we try to match on, to avoiding loading for a CDC
- * ACM (ISDN or PSTN) modem */
+/* Take only the right kind of interface */
 static struct usb_device_id CDCEther_ids[] = {
-        { match_flags: (USB_DEVICE_ID_MATCH_INT_CLASS | USB_DEVICE_ID_MATCH_INT_SUBCLASS),
-          bInterfaceClass: USB_CLASS_COMM, bInterfaceSubClass: 6},
+	{ USB_INTERFACE_INFO(USB_CLASS_COMM, 6, 0) },
         { } /* Terminating null entry */
 };
 
diff -Naur -X dontdiff /mnt/zip/linux-2.4.10/drivers/usb/acm.c linux/drivers/usb/acm.c
--- /mnt/zip/linux-2.4.10/drivers/usb/acm.c	Mon Sep 24 18:53:51 2001
+++ linux/drivers/usb/acm.c	Mon Sep 24 20:37:56 2001
@@ -1,5 +1,5 @@
 /*
- * acm.c  Version 0.20
+ * acm.c  Version 0.21
  *
  * Copyright (c) 1999 Armin Fuerst	<fuerst@in.tum.de>
  * Copyright (c) 1999 Pavel Machek	<pavel@suse.cz>
@@ -23,6 +23,7 @@
  *	v0.18 - fixed new style probing for devices with more configurations
  *	v0.19 - fixed CLOCAL handling (thanks to Richard Shih-Ping Chan)
  *      v0.20 - switched to probing on interface (rather than device) class
+ *      v0.21 - revert to probing on device for devices with multiple configs
  */
 
 /*
@@ -60,7 +61,7 @@
 /*
  * Version Information
  */
-#define DRIVER_VERSION "v0.20"
+#define DRIVER_VERSION "v0.21"
 #define DRIVER_AUTHOR "Armin Fuerst, Pavel Machek, Johannes Erdfelt, Vojtech Pavlik"
 #define DRIVER_DESC "USB Abstract Control Model driver for USB modems and ISDN adapters"
 
@@ -648,8 +649,8 @@
  */
 
 static struct usb_device_id acm_ids[] = {
-	{match_flags: (USB_DEVICE_ID_MATCH_INT_CLASS | USB_DEVICE_ID_MATCH_INT_SUBCLASS),
-	bInterfaceClass: USB_CLASS_COMM, bInterfaceSubClass: 2},
+	{ USB_INTERFACE_INFO(USB_CLASS_COMM, 2, 0) },
+	{ USB_DEVICE(0x1668, 0x0333) }, /* Actiontec 56K modem */
 	{ }
 };
 
