aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e100.c
diff options
context:
space:
mode:
authorDavid Graham <david.graham@intel.com>2007-07-10 11:45:11 -0400
committerJeff Garzik <jeff@garzik.org>2007-07-10 12:24:43 -0400
commit44e4925e4601961b9bd1982008a55fce865d318c (patch)
treee2e916e5478ef40281ca8665ebba534a32bd3432 /drivers/net/e100.c
parentc6f5047b633f0605098fe47417c4e1ed87a7637a (diff)
e100: Fix Tyan motherboard e100 not receiving IPMI commands
The 82550 & 51 parts have an extended configuration block that includes a bit "GMRC", required to enable the expected TCO behavior, in config byte offset 22d. The config block sent by the failing driver does include the extension area, but this bit is not initialised, and the downlaod only specifies 0x16 bytes to be sent to the NIC (thaht's bytes 00..21d). By initializing the GMRC bit, and extending the download size for D102+ MACs, the problem is resolved. Signed-off-by: David Graham <david.graham@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/e100.c')
-rw-r--r--drivers/net/e100.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index 763810c7f33a..74ea6373c7cd 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -159,7 +159,7 @@
159 159
160#define DRV_NAME "e100" 160#define DRV_NAME "e100"
161#define DRV_EXT "-NAPI" 161#define DRV_EXT "-NAPI"
162#define DRV_VERSION "3.5.17-k4"DRV_EXT 162#define DRV_VERSION "3.5.23-k4"DRV_EXT
163#define DRV_DESCRIPTION "Intel(R) PRO/100 Network Driver" 163#define DRV_DESCRIPTION "Intel(R) PRO/100 Network Driver"
164#define DRV_COPYRIGHT "Copyright(c) 1999-2006 Intel Corporation" 164#define DRV_COPYRIGHT "Copyright(c) 1999-2006 Intel Corporation"
165#define PFX DRV_NAME ": " 165#define PFX DRV_NAME ": "
@@ -1024,10 +1024,16 @@ static void e100_configure(struct nic *nic, struct cb *cb, struct sk_buff *skb)
1024 config->mwi_enable = 0x1; /* 1=enable, 0=disable */ 1024 config->mwi_enable = 0x1; /* 1=enable, 0=disable */
1025 config->standard_tcb = 0x0; /* 1=standard, 0=extended */ 1025 config->standard_tcb = 0x0; /* 1=standard, 0=extended */
1026 config->rx_long_ok = 0x1; /* 1=VLANs ok, 0=standard */ 1026 config->rx_long_ok = 0x1; /* 1=VLANs ok, 0=standard */
1027 if(nic->mac >= mac_82559_D101M) 1027 if (nic->mac >= mac_82559_D101M) {
1028 config->tno_intr = 0x1; /* TCO stats enable */ 1028 config->tno_intr = 0x1; /* TCO stats enable */
1029 else 1029 /* Enable TCO in extended config */
1030 if (nic->mac >= mac_82551_10) {
1031 config->byte_count = 0x20; /* extended bytes */
1032 config->rx_d102_mode = 0x1; /* GMRC for TCO */
1033 }
1034 } else {
1030 config->standard_stat_counter = 0x0; 1035 config->standard_stat_counter = 0x0;
1036 }
1031 } 1037 }
1032 1038
1033 DPRINTK(HW, DEBUG, "[00-07]=%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n", 1039 DPRINTK(HW, DEBUG, "[00-07]=%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n",