diff options
-rw-r--r-- | drivers/net/bnx2x_main.c | 13 |
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) | |||
6897 | static void __devinit bnx2x_get_common_hwinfo(struct bnx2x *bp) | 6897 | static 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]); |