|
@@ -2835,12 +2835,15 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x3c28, vtd_mask_spec_errors);
|
|
|
|
|
|
static void fixup_ti816x_class(struct pci_dev *dev)
|
|
|
{
|
|
|
+ u32 class = dev->class;
|
|
|
+
|
|
|
/* TI 816x devices do not have class code set when in PCIe boot mode */
|
|
|
- dev_info(&dev->dev, "Setting PCI class for 816x PCIe device\n");
|
|
|
- dev->class = PCI_CLASS_MULTIMEDIA_VIDEO;
|
|
|
+ dev->class = PCI_CLASS_MULTIMEDIA_VIDEO << 8;
|
|
|
+ dev_info(&dev->dev, "PCI class overridden (%#08x -> %#08x)\n",
|
|
|
+ class, dev->class);
|
|
|
}
|
|
|
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_TI, 0xb800,
|
|
|
- PCI_CLASS_NOT_DEFINED, 0, fixup_ti816x_class);
|
|
|
+ PCI_CLASS_NOT_DEFINED, 0, fixup_ti816x_class);
|
|
|
|
|
|
/* Some PCIe devices do not work reliably with the claimed maximum
|
|
|
* payload size supported.
|