Re: serial driver not properly detecting modem

From: Jeff Garzik (
Date: Tue Apr 24 2001 - 08:46:47 EST

Alan Cox wrote:
> > I've fixed this here merely by adding an entry to the PCI table of
> > serial.c for PCI_CLASS_COMMUNICATION_OTHER. Is this the best way to fix
> > this? Is there some reason that this shouldn't be done in general? If
> > not, I'd like to see it fix in the kernel proper.
> Most class other devices wont be 16x50 compatible.

winmodems are class other

> > It should be noted that the modem is listed in serial.c's pci_boards,
> > perhaps it would be best for the serial driver to list PCI_ID_ANY for a
> > class, and only use pci_boards to further identify serial ports? Or
> > would this be too inefficient to correct for a few misguided hardware
> > makers?
> Probably serial.c should look for class serial || (class_other && in table)

no need to consider class other at all, since there are so many
exceptions. Build the serial.c pci table like

        board 1
        board 2
        board 3
        class 1
        class 2
        class 3

Special cases go before the classes. A 16x50 compatible class other is
definitely a special case...

On a side note, an outstanding to-do item for the serial driver is to
move its huge honkin' custom PCI table into the pci_device_id standard
table. The pci_device_id::driver_data member would then become an index
into the smaller custom PCI table.

Jeff Garzik      | The difference between America and England is that
Building 1024    | the English think 100 miles is a long distance and
MandrakeSoft     | the Americans think 100 years is a long time.
                 |      (random fortune)
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Mon Apr 30 2001 - 21:00:11 EST