aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/bnx2x_main.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c
index db6a3b9a367c..03218705f513 100644
--- a/drivers/net/bnx2x_main.c
+++ b/drivers/net/bnx2x_main.c
@@ -6897,6 +6897,7 @@ static void __devinit bnx2x_undi_unload(struct bnx2x *bp)
6897static void __devinit bnx2x_get_common_hwinfo(struct bnx2x *bp) 6897static void __devinit bnx2x_get_common_hwinfo(struct bnx2x *bp)
6898{ 6898{
6899 u32 val, val2, val3, val4, id; 6899 u32 val, val2, val3, val4, id;
6900 u16 pmc;
6900 6901
6901 /* Get the chip revision id and number. */ 6902 /* Get the chip revision id and number. */
6902 /* chip num:16-31, rev:12-15, metal:4-11, bond_id:0-3 */ 6903 /* chip num:16-31, rev:12-15, metal:4-11, bond_id:0-3 */
@@ -6954,8 +6955,16 @@ static void __devinit bnx2x_get_common_hwinfo(struct bnx2x *bp)
6954 BNX2X_ERR("This driver needs bc_ver %X but found %X," 6955 BNX2X_ERR("This driver needs bc_ver %X but found %X,"
6955 " please upgrade BC\n", BNX2X_BC_VER, val); 6956 " please upgrade BC\n", BNX2X_BC_VER, val);
6956 } 6957 }
6957 BNX2X_DEV_INFO("%sWoL Capable\n", 6958
6958 (bp->flags & NO_WOL_FLAG)? "Not " : ""); 6959 if (BP_E1HVN(bp) == 0) {
6960 pci_read_config_word(bp->pdev, bp->pm_cap + PCI_PM_PMC, &pmc);
6961 bp->flags |= (pmc & PCI_PM_CAP_PME_D3cold) ? 0 : NO_WOL_FLAG;
6962 } else {
6963 /* no WOL capability for E1HVN != 0 */
6964 bp->flags |= NO_WOL_FLAG;
6965 }
6966 BNX2X_DEV_INFO("%sWoL capable\n",
6967 (bp->flags & NO_WOL_FLAG) ? "Not " : "");
6959 6968
6960 val = SHMEM_RD(bp, dev_info.shared_hw_config.part_num); 6969 val = SHMEM_RD(bp, dev_info.shared_hw_config.part_num);
6961 val2 = SHMEM_RD(bp, dev_info.shared_hw_config.part_num[4]); 6970 val2 = SHMEM_RD(bp, dev_info.shared_hw_config.part_num[4]);