PCI: Shift PCI_CLASS_NOT_DEFINED consistently with other classes
The PCI class in dev->class is a three-byte value comprising a base class, sub-class, and interface type. PCI_CLASS_NOT_DEFINED includes the base class and sub-class, but not the interface type, so it should be shifted to make space for the interface. It happens that PCI_CLASS_NOT_DEFINED is zero, so it doesn't matter in the end, but we should still use it consistently with other class definitions. Treat PCI_CLASS_NOT_DEFINED as a base class/sub-class value that should appear in bits 8-23 of dev->class. Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
		
							parent
							
								
									eefaf33882
								
							
						
					
					
						commit
						2b4aed1d1f
					
				| @ -1268,7 +1268,7 @@ int pci_setup_device(struct pci_dev *dev) | ||||
| 	bad: | ||||
| 		dev_err(&dev->dev, "ignoring class %#08x (doesn't match header type %02x)\n", | ||||
| 			dev->class, dev->hdr_type); | ||||
| 		dev->class = PCI_CLASS_NOT_DEFINED; | ||||
| 		dev->class = PCI_CLASS_NOT_DEFINED << 8; | ||||
| 	} | ||||
| 
 | ||||
| 	/* We found a fine healthy device, go go go... */ | ||||
|  | ||||
| @ -2843,7 +2843,7 @@ static void fixup_ti816x_class(struct pci_dev *dev) | ||||
| 		 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, 8, fixup_ti816x_class); | ||||
| 
 | ||||
| /* Some PCIe devices do not work reliably with the claimed maximum
 | ||||
|  * payload size supported. | ||||
| @ -3661,13 +3661,13 @@ static void quirk_tw686x_class(struct pci_dev *pdev) | ||||
| 	dev_info(&pdev->dev, "TW686x PCI class overridden (%#08x -> %#08x)\n", | ||||
| 		 class, pdev->class); | ||||
| } | ||||
| DECLARE_PCI_FIXUP_CLASS_EARLY(0x1797, 0x6864, PCI_CLASS_NOT_DEFINED, 0, | ||||
| DECLARE_PCI_FIXUP_CLASS_EARLY(0x1797, 0x6864, PCI_CLASS_NOT_DEFINED, 8, | ||||
| 			      quirk_tw686x_class); | ||||
| DECLARE_PCI_FIXUP_CLASS_EARLY(0x1797, 0x6865, PCI_CLASS_NOT_DEFINED, 0, | ||||
| DECLARE_PCI_FIXUP_CLASS_EARLY(0x1797, 0x6865, PCI_CLASS_NOT_DEFINED, 8, | ||||
| 			      quirk_tw686x_class); | ||||
| DECLARE_PCI_FIXUP_CLASS_EARLY(0x1797, 0x6868, PCI_CLASS_NOT_DEFINED, 0, | ||||
| DECLARE_PCI_FIXUP_CLASS_EARLY(0x1797, 0x6868, PCI_CLASS_NOT_DEFINED, 8, | ||||
| 			      quirk_tw686x_class); | ||||
| DECLARE_PCI_FIXUP_CLASS_EARLY(0x1797, 0x6869, PCI_CLASS_NOT_DEFINED, 0, | ||||
| DECLARE_PCI_FIXUP_CLASS_EARLY(0x1797, 0x6869, PCI_CLASS_NOT_DEFINED, 8, | ||||
| 			      quirk_tw686x_class); | ||||
| 
 | ||||
| /*
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user