PCI: Fix device class print out
PATCH 1/1 PCI: Fix device class print out
Found debug print out about class is shifted.
| pci 0000:f8:15.2: [8086:2b56] type 0 class 0x000600
code is trying to print class with 6 digits, but use shifted class with 4 digits valid value as variable.
Change to original dev->class directly.
also remove not needed calculating of local variable class, because it will be updated after pci_fixup_device(pci_fixup_early...)
Also unify type print out when class and header is not matched.
--- drivers/pci/probe.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)
drivers/pci/probe.c +5 -7
@@ -1125,12 +1125,10 @@ int pci_setup_device(struct pci_dev *devpci_read_config_dword (dev,PCI_CLASS_REVISION , &class); dev->revision = class &0xff ; - class >>=8 ;/* upper 3 bytes */ - dev->class = class; - class >>=8 ; + dev->class = class >>8 ;/* upper 3 bytes */ -dev_printk (KERN_DEBUG , &dev->dev,"[%04x:%04x] type %d class %#08x\n" , - dev->vendor, dev->device, dev->hdr_type, class); +dev_printk (KERN_DEBUG , &dev->dev,"[%04x:%04x] type %02x class %#08x\n" , + dev->vendor, dev->device, dev->hdr_type, dev->class);/* need to have dev->class ready */ dev->cfg_size =pci_cfg_space_size (dev);
@@ -1212,8 +1210,8 @@ int pci_setup_device(struct pci_dev *devreturn -EIO ; bad: -dev_err (&dev->dev,"ignoring class %02x (doesn't match header " -"type %02x)\n" , class, dev->hdr_type); +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 ; }
Jesse Barnes
AppliedQuoted 7 lines · On Sun, 19 Feb 2012 14:50:12 -0800 Yinghai Lu <[email protected]> wrote:
Found debug print out about class is shifted.
| pci 0000:f8:15.2: [8086:2b56] type 0 class
0x000600code is trying to print class with 6 digits, but use shifted class with 4 digits valid value as variable.
Quoted 8 lines
Change to original
dev->classdirectly.also remove not needed calculating of local variable class, because it will be updated after
pci_fixup_device(pci_fixup_early...)Also unify type print out when class and header is not matched.
Signed-off-by Yinghai Lu <[email protected]>
Applied to linux-next, thanks.
Signature · 1 line
Jesse Barnes, Intel Open Source Technology Center