diff options
author | Michael Chan <mchan@broadcom.com> | 2006-01-23 19:11:42 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-01-23 19:11:42 -0500 |
commit | 1122db717ab5443ca9043fc0d23c1e862cfb3a61 (patch) | |
tree | 360da4ec3f5a29c5d3a3aa1e1677072e3852f26d /drivers/net/bnx2.c | |
parent | 1269a8a64a37c8a06af672f4cff4fed16a478734 (diff) |
[BNX2]: Fix nvram sizing
Add code to correctly determine nvram size.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
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 |