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 6e67258c4b4e91303aa643e001d6cb6816b1411d..d6c4bd8438ec704957d989ffa508c769a6a24be2 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;