Fix bad cast that caused bit truncation.
authorIan Romanick <idr@us.ibm.com>
Fri, 12 Jan 2007 05:39:15 +0000 (21:39 -0800)
committerIan Romanick <idr@us.ibm.com>
Fri, 12 Jan 2007 05:39:15 +0000 (21:39 -0800)
src/linux_sysfs.c

index abb3f1e..6061cc0 100644 (file)
@@ -184,7 +184,7 @@ pci_device_linux_sysfs_probe( struct pci_device * dev )
        dev->vendor_id = (uint16_t)config[0] + ((uint16_t)config[1] << 8);
        dev->device_id = (uint16_t)config[2] + ((uint16_t)config[3] << 8);
        dev->device_class = (uint32_t)config[9] + ((uint32_t)config[10] << 8)
-         + ((uint16_t)config[11] << 16);
+         + ((uint32_t)config[11] << 16);
        dev->revision = config[8];
        dev->subvendor_id = (uint16_t)config[44] + ((uint16_t)config[45] << 8);
        dev->subdevice_id = (uint16_t)config[46] + ((uint16_t)config[47] << 8);