summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@redhat.com>2003-01-03 06:07:51 -0500
committerJeff Garzik <jgarzik@redhat.com>2003-01-03 06:07:51 -0500
commitaaca8bcc20ff1af9ff4ee9d8362fd3871cf50b79 (patch)
tree803b710348f69e9f24f47e62eddd32a06c124f11 /drivers
parent819b311432c1e441d5a09d558c77039dd887bfd9 (diff)
[netdrvr e100] changelog/whitespace updates, small fixes:
* Updated change log * Spelling corections * Bug fix: remove confusing sign-on message that's printed when no link Contributed by Scott Feldman @ Intel
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/e100/e100_main.c47
-rw-r--r--drivers/net/e100/e100_test.c26
2 files changed, 32 insertions, 41 deletions
diff --git a/drivers/net/e100/e100_main.c b/drivers/net/e100/e100_main.c
index 068d0fabc19f..1d105d13fd7e 100644
--- a/drivers/net/e100/e100_main.c
+++ b/drivers/net/e100/e100_main.c
@@ -46,6 +46,21 @@
/* Change Log
*
+ * 2.1.29 12/20/02
+ * o Bug fix: Device command timeout due to SMBus processing during init
+ * o Bug fix: Not setting/clearing I (Interrupt) bit in tcb correctly
+ * o Bug fix: Not using EEPROM WoL setting as default in ethtool
+ * o Bug fix: Not able to set autoneg on using ethtool when interface down
+ * o Bug fix: Not able to change speed/duplex using ethtool/mii
+ * when interface up
+ * o Bug fix: Ethtool shows autoneg on when forced to 100/Full
+ * o Bug fix: Compiler error when CONFIG_PROC_FS not defined
+ * o Bug fix: 2.5.44 e100 doesn't load with preemptive kernel enabled
+ * (sleep while holding spinlock)
+ * o Bug fix: 2.1.24-k1 doesn't display complete statistics
+ * o Bug fix: System panic due to NULL watchdog timer dereference during
+ * ifconfig down, rmmod and insmod
+ *
* 2.1.24 10/7/02
* o Bug fix: Wrong files under /proc/net/PRO_LAN_Adapters/ when interface
* name is changed
@@ -56,21 +71,6 @@
* o Removed misleading printks
*
* 2.1.12 8/2/02
- * o Feature: ethtool register dump
- * o Bug fix: Driver passes wrong name to /proc/interrupts
- * o Bug fix: Ethernet bridging not working
- * o Bug fix: Promiscuous mode is not working
- * o Bug fix: Checked return value from copy_from_user (William Stinson,
- * wstinson@infonie.fr)
- * o Bug fix: ARP wake on LAN fails
- * o Bug fix: mii-diag does not update driver level's speed, duplex and
- * re-configure flow control
- * o Bug fix: Ethtool shows wrong speed/duplex when not connected
- * o Bug fix: Ethtool shows wrong speed/duplex when reconnected if forced
- * speed/duplex
- * o Bug fix: PHY loopback diagnostic fails
- *
- * 2.1.6 7/5/02
*/
#include <linux/config.h>
@@ -135,7 +135,7 @@ static void e100_non_tx_background(unsigned long);
/* Global Data structures and variables */
char e100_copyright[] __devinitdata = "Copyright (c) 2002 Intel Corporation";
-char e100_driver_version[]="2.1.24-k2";
+char e100_driver_version[]="2.1.29-k1";
const char *e100_full_driver_name = "Intel(R) PRO/100 Network Driver";
char e100_short_driver_name[] = "e100";
static int e100nics = 0;
@@ -652,7 +652,7 @@ e100_found1(struct pci_dev *pcid, const struct pci_device_id *ent)
cal_checksum = e100_eeprom_calculate_chksum(bdp);
read_checksum = e100_eeprom_read(bdp, (bdp->eeprom_size - 1));
if (cal_checksum != read_checksum) {
- printk(KERN_ERR "e100: Corrupted EERPROM on instance #%d\n",
+ printk(KERN_ERR "e100: Corrupted EEPROM on instance #%d\n",
e100nics);
rc = -ENODEV;
goto err_pci;
@@ -2948,19 +2948,6 @@ e100_D101M_checksum(struct e100_private *bdp, struct sk_buff *skb)
void __devinit
e100_print_brd_conf(struct e100_private *bdp)
{
- if (netif_carrier_ok(bdp->device)) {
- printk(KERN_NOTICE
- " Mem:0x%08lx IRQ:%d Speed:%d Mbps Dx:%s\n",
- (unsigned long) bdp->device->mem_start,
- bdp->device->irq, bdp->cur_line_speed,
- (bdp->cur_dplx_mode == FULL_DUPLEX) ? "Full" : "Half");
- } else {
- printk(KERN_NOTICE
- " Mem:0x%08lx IRQ:%d Speed:%d Mbps Dx:%s\n",
- (unsigned long) bdp->device->mem_start,
- bdp->device->irq, 0, "N/A");
- }
-
/* Print the string if checksum Offloading was enabled */
if (bdp->flags & DF_CSUM_OFFLOAD)
printk(KERN_NOTICE " Hardware receive checksums enabled\n");
diff --git a/drivers/net/e100/e100_test.c b/drivers/net/e100/e100_test.c
index 6cceb97c0d13..27ff5af00bfd 100644
--- a/drivers/net/e100/e100_test.c
+++ b/drivers/net/e100/e100_test.c
@@ -29,7 +29,7 @@
#include "e100_config.h"
extern u16 e100_eeprom_read(struct e100_private *, u16);
-extern int e100_wait_exec_cmplx(struct e100_private *, u32,u8);
+extern int e100_wait_exec_cmplx(struct e100_private *, u32,u8, u8);
extern void e100_phy_reset(struct e100_private *bdp);
extern void e100_phy_autoneg(struct e100_private *bdp);
extern void e100_phy_set_loopback(struct e100_private *bdp);
@@ -95,11 +95,9 @@ e100_run_diag(struct net_device *dev, u64 *test_info, u32 flags)
test_info [E100_EEPROM_TEST_FAIL] = true;
}
- e100_deisolate_driver(bdp, false);
-
- /*Let card recover from the test*/
set_current_state(TASK_UNINTERRUPTIBLE);
schedule_timeout(HZ * 2);
+ e100_deisolate_driver(bdp, false);
return flags | (test_result ? 0 : ETH_TEST_FL_FAILED);
}
@@ -128,7 +126,7 @@ e100_diag_selftest(struct net_device *dev)
}
}
- e100_hw_reset_recover(bdp,PORT_SOFTWARE_RESET);
+ e100_configure_device(bdp);
return retval;
}
@@ -166,13 +164,19 @@ e100_diag_loopback (struct net_device *dev)
{
u8 rc = 0;
+ printk(KERN_DEBUG "%s: PHY loopback test starts\n", dev->name);
+ e100_sw_reset(dev->priv, PORT_SELECTIVE_RESET);
if (!e100_diag_one_loopback(dev, PHY_LOOPBACK)) {
rc |= PHY_LOOPBACK;
}
+ printk(KERN_DEBUG "%s: PHY loopback test ends\n", dev->name);
+ printk(KERN_DEBUG "%s: MAC loopback test starts\n", dev->name);
+ e100_sw_reset(dev->priv, PORT_SELECTIVE_RESET);
if (!e100_diag_one_loopback(dev, MAC_LOOPBACK)) {
rc |= MAC_LOOPBACK;
}
+ printk(KERN_DEBUG "%s: MAC loopback test ends\n", dev->name);
return rc;
}
@@ -341,12 +345,12 @@ static void
e100_diag_loopback_cu_ru_exec(struct e100_private *bdp)
{
/*load CU & RU base */
- if (!e100_wait_exec_cmplx(bdp, 0, SCB_CUC_LOAD_BASE))
- printk("e100: SCB_CUC_LOAD_BASE failed\n");
- if(!e100_wait_exec_cmplx(bdp, 0, SCB_RUC_LOAD_BASE))
- printk("e100: SCB_RUC_LOAD_BASE failed!\n");
- if(!e100_wait_exec_cmplx(bdp, bdp->loopback.dma_handle, SCB_RUC_START))
- printk("e100: SCB_RUC_START failed!\n");
+ if (!e100_wait_exec_cmplx(bdp, 0, SCB_CUC_LOAD_BASE, 0))
+ printk(KERN_ERR "e100: SCB_CUC_LOAD_BASE failed\n");
+ if(!e100_wait_exec_cmplx(bdp, 0, SCB_RUC_LOAD_BASE, 0))
+ printk(KERN_ERR "e100: SCB_RUC_LOAD_BASE failed!\n");
+ if(!e100_wait_exec_cmplx(bdp, bdp->loopback.dma_handle, SCB_RUC_START, 0))
+ printk(KERN_ERR "e100: SCB_RUC_START failed!\n");
bdp->next_cu_cmd = START_WAIT;
e100_start_cu(bdp, bdp->loopback.tcb);