> PCI_D0 is zero so the original test is never true. > > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > --- > I don't have the hardware to test this, and I'm not positive on it. > Buyer beware! > > diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c > b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c > index 263950c..a9a1609 100644 > --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c > +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c > @@ -1391,7 +1391,7 @@ 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_D0)) > return false; Hi Dan, Thanks for the catch, but I think your fix might be incomplete; It should probably be + if ((rc && !netif_running(dev)) || (!rc && ((pm & PCI_PM_CTRL_STATE_MASK) != PCI_D0))) Otherwise the condition will fail if other bits are set in the PM control register. Thanks, Yuval -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html