bnx2x: fix a power state test
authorYuval Mintz <yuvalmin@broadcom.com>
Sat, 1 Jun 2013 23:02:26 +0000 (23:02 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Jun 2013 04:39:29 +0000 (21:39 -0700)
If PCIe supports PM capabilities, bnx2x will always claim eeprom is accessible
as PCI_D0 is zero.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c

index 72b1b59..7c6faeb 100644 (file)
@@ -1390,7 +1390,8 @@ static bool bnx2x_is_nvm_accessible(struct bnx2x *bp)
                rc = pci_read_config_word(bp->pdev,
                                          bp->pm_cap + PCI_PM_CTRL, &pm);
 
-       if ((rc && !netif_running(dev)) || (!rc && ((pm & PCI_D0) != PCI_D0)))
+       if ((rc && !netif_running(dev)) ||
+           (!rc && ((pm & PCI_PM_CTRL_STATE_MASK) != PCI_D0)))
                return false;
 
        return true;