The format of usb_device_id tables was recently changed
(just before 2.4.0, I think) to include a match_flags field.  A bit
set to one in that field indicates that a given member of the structure
contains a valid value that must match.  A bit set to zero indicates
a wildcard (skip the comparison).  Compiling a driver that uses the old
format results in that driver having a usb_device_id structure that
has an all zeroes match_flags, which means don't compare anything.
That is, it is a completely wildcard and will match every USB interface.

        As of 2.4.1-pre9, there appears to be only USB driver that
was missed: drivers/usb/serial/mct_u232.c.  This patch fixes the problem.

-- 
Adam J. Richter     __     ______________   4880 Stevens Creek Blvd, Suite 104
[EMAIL PROTECTED]     \ /                  San Jose, California 95129-1034
+1 408 261-6630         | g g d r a s i l   United States of America
fax +1 408 261-6631      "Free Software For The Rest Of Us."
--- linux-2.4.1-pre9/drivers/usb/serial/mct_u232.c      Thu Dec  7 16:13:38 2000
+++ linux/drivers/usb/serial/mct_u232.c Sat Jan 20 02:52:44 2001
@@ -102,7 +102,7 @@
  * All of the device info needed for the MCT USB-RS232 converter.
  */
 static __devinitdata struct usb_device_id id_table [] = {
-       { idVendor: MCT_U232_VID, idProduct: MCT_U232_PID },
+       { USB_DEVICE(MCT_U232_VID, MCT_U232_PID) },
        { }                                     /* Terminating entry */
 };
 

Reply via email to