PCI class code management is confusing. The pci_dev.class element contains a three-byte value: base class/sub-class/interface. The PCI_BASE_CLASS_* definitions are a single byte, i.e., dev->class >> 16. The PCI_CLASS_* definitions are either two or three bytes, i.e., either dev->class >> 8 or just dev->class. We had several places where we used a two-byte PCI_CLASS_* definition but forgot to shift it to the right place. These patches fix that for NCR 53c810, TI816X, and Intel USB devices. --- Bjorn Helgaas (6): PCI: Use PCI_CLASS_SERIAL_USB instead of bare number PCI: Fix generic NCR 53c810 class code quirk PCI: Fix TI816X class code quirk PCI: Fix Intel generic reset quirk class code check PCI: Simplify reset_intel_generic_dev() PCI: Shift PCI_CLASS_NOT_DEFINED consistently with other classes arch/x86/pci/fixup.c | 13 ---------- drivers/pci/probe.c | 2 +- drivers/pci/quirks.c | 64 ++++++++++++++++++++++++++++---------------------- 3 files changed, 37 insertions(+), 42 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in