igb: remove unnecessary reads of PCI_CAP_ID_EXP
authorJon Mason <jdmason@kudzu.us>
Mon, 27 Jun 2011 07:44:01 +0000 (07:44 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 28 Jun 2011 04:40:44 +0000 (21:40 -0700)
The PCIE capability offset is saved during PCI bus walking.  It will
remove an unnecessary search in the PCI configuration space if this
value is referenced instead of reacquiring it.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/igb/igb_main.c

index 6e67258..d6c4bd8 100644 (file)
@@ -6267,7 +6267,7 @@ s32 igb_read_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value)
        struct igb_adapter *adapter = hw->back;
        u16 cap_offset;
 
-       cap_offset = pci_find_capability(adapter->pdev, PCI_CAP_ID_EXP);
+       cap_offset = adapter->pdev->pcie_cap;
        if (!cap_offset)
                return -E1000_ERR_CONFIG;
 
@@ -6281,7 +6281,7 @@ s32 igb_write_pcie_cap_reg(struct e1000_hw *hw, u32 reg, u16 *value)
        struct igb_adapter *adapter = hw->back;
        u16 cap_offset;
 
-       cap_offset = pci_find_capability(adapter->pdev, PCI_CAP_ID_EXP);
+       cap_offset = adapter->pdev->pcie_cap;
        if (!cap_offset)
                return -E1000_ERR_CONFIG;