diff options
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r-- | drivers/net/bnx2.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 7b99cf26a129..4f613b0be140 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -2724,9 +2724,16 @@ bnx2_init_nvram(struct bnx2 *bp) | |||
2724 | if (j == entry_count) { | 2724 | if (j == entry_count) { |
2725 | bp->flash_info = NULL; | 2725 | bp->flash_info = NULL; |
2726 | printk(KERN_ALERT PFX "Unknown flash/EEPROM type.\n"); | 2726 | printk(KERN_ALERT PFX "Unknown flash/EEPROM type.\n"); |
2727 | rc = -ENODEV; | 2727 | return -ENODEV; |
2728 | } | 2728 | } |
2729 | 2729 | ||
2730 | val = REG_RD_IND(bp, bp->shmem_base + BNX2_SHARED_HW_CFG_CONFIG2); | ||
2731 | val &= BNX2_SHARED_HW_CFG2_NVM_SIZE_MASK; | ||
2732 | if (val) | ||
2733 | bp->flash_size = val; | ||
2734 | else | ||
2735 | bp->flash_size = bp->flash_info->total_size; | ||
2736 | |||
2730 | return rc; | 2737 | return rc; |
2731 | } | 2738 | } |
2732 | 2739 | ||
@@ -4809,10 +4816,10 @@ bnx2_get_eeprom_len(struct net_device *dev) | |||
4809 | { | 4816 | { |
4810 | struct bnx2 *bp = dev->priv; | 4817 | struct bnx2 *bp = dev->priv; |
4811 | 4818 | ||
4812 | if (bp->flash_info == 0) | 4819 | if (bp->flash_info == NULL) |
4813 | return 0; | 4820 | return 0; |
4814 | 4821 | ||
4815 | return (int) bp->flash_info->total_size; | 4822 | return (int) bp->flash_size; |
4816 | } | 4823 | } |
4817 | 4824 | ||
4818 | static int | 4825 | static int |