]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/bnx2.c
pci: Add PCI LRDT tag size and section size
[net-next-2.6.git] / drivers / net / bnx2.c
index d3f739a295df7c8a564994b20b476730328b3e99..bb403887b549cb3342b9b3416e5dc0bad110241e 100644 (file)
@@ -7773,15 +7773,17 @@ bnx2_read_vpd_fw_ver(struct bnx2 *bp)
                unsigned int block_end;
 
                if (val == 0x82 || val == 0x91) {
-                       i = (i + 3 + (data[i + 1] + (data[i + 2] << 8)));
+                       i += PCI_VPD_LRDT_TAG_SIZE +
+                            pci_vpd_lrdt_size(&data[i]);
                        continue;
                }
 
                if (val != 0x90)
                        goto vpd_done;
 
-               block_end = (i + 3 + (data[i + 1] + (data[i + 2] << 8)));
-               i += 3;
+               block_end = (i + PCI_VPD_LRDT_TAG_SIZE +
+                           pci_vpd_lrdt_size(&data[i]));
+               i += PCI_VPD_LRDT_TAG_SIZE;
 
                if (block_end > BNX2_VPD_LEN)
                        goto vpd_done;