Commit ce40bb04 authored by Eli Kupermann's avatar Eli Kupermann Committed by Jeff Garzik

e100 net driver update:

1) This patch provides fix for "wake on arp" and "wake on unicast"
functionality when card is suspended by power management. When e100_suspend
was called for the device that is in netif_running state the load filter
command was executed in the asynchronic mode and the order of actions
required to put device into wake up enabled mode was broken.

The fix enables to execute WOL configure and load filter commands in the
synchronic mode despite of fact that device is in netif_running state. The
exec_non_cu_command uses the driver_isolated flag to identify this
situation. 

2) add EXPORT_NO_SYMBOLS (yay Intel, you have come so far... :))

3) bump version to 2.0.25-pre1
parent e05d5feb
...@@ -165,7 +165,7 @@ static void e100_non_tx_background(unsigned long); ...@@ -165,7 +165,7 @@ static void e100_non_tx_background(unsigned long);
/* Global Data structures and variables */ /* Global Data structures and variables */
char e100_copyright[] __devinitdata = "Copyright (c) 2002 Intel Corporation"; char e100_copyright[] __devinitdata = "Copyright (c) 2002 Intel Corporation";
#define E100_VERSION "2.0.24-pre1" #define E100_VERSION "2.0.25-pre1"
#define E100_FULL_DRIVER_NAME "Intel(R) PRO/100 Fast Ethernet Adapter - Loadable driver, ver " #define E100_FULL_DRIVER_NAME "Intel(R) PRO/100 Fast Ethernet Adapter - Loadable driver, ver "
...@@ -382,6 +382,7 @@ static void e100_set_multi_exec(struct net_device *dev); ...@@ -382,6 +382,7 @@ static void e100_set_multi_exec(struct net_device *dev);
MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>"); MODULE_AUTHOR("Intel Corporation, <linux.nics@intel.com>");
MODULE_DESCRIPTION(E100_FULL_DRIVER_NAME E100_VERSION); MODULE_DESCRIPTION(E100_FULL_DRIVER_NAME E100_VERSION);
MODULE_LICENSE("Dual BSD/GPL"); MODULE_LICENSE("Dual BSD/GPL");
EXPORT_NO_SYMBOLS;
E100_PARAM(TxDescriptors, "Number of transmit descriptors"); E100_PARAM(TxDescriptors, "Number of transmit descriptors");
E100_PARAM(RxDescriptors, "Number of receive descriptors"); E100_PARAM(RxDescriptors, "Number of receive descriptors");
...@@ -2715,8 +2716,10 @@ e100_exec_non_cu_cmd(struct e100_private *bdp, nxmit_cb_entry_t *command) ...@@ -2715,8 +2716,10 @@ e100_exec_non_cu_cmd(struct e100_private *bdp, nxmit_cb_entry_t *command)
ntcb_hdr->cb_lnk_ptr = 0; ntcb_hdr->cb_lnk_ptr = 0;
wmb(); wmb();
if (in_interrupt())
return e100_delayed_exec_non_cu_cmd(bdp, command);
if (in_interrupt() || netif_running(bdp->device)) if (netif_running(bdp->device) && (!bdp->driver_isolated))
return e100_delayed_exec_non_cu_cmd(bdp, command); return e100_delayed_exec_non_cu_cmd(bdp, command);
spin_lock_bh(&(bdp->bd_non_tx_lock)); spin_lock_bh(&(bdp->bd_non_tx_lock));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment