summaryrefslogtreecommitdiffstats
path: root/drivers/net/ehea/ehea.h
diff options
context:
space:
mode:
authorJan-Bernd Themann <ossthema@de.ibm.com>2008-07-03 16:18:51 +0200
committerJeff Garzik <jgarzik@redhat.com>2008-07-04 14:10:41 +0200
commit2f69ae01c83a94af5dc3c20e8135b974687ed004 (patch)
treefba9563322f4f0932b0222f4b026cb96485dc0c5 /drivers/net/ehea/ehea.h
parentehea: add MODULE_DEVICE_TABLE (diff)
downloadlinux-2f69ae01c83a94af5dc3c20e8135b974687ed004.tar.xz
linux-2f69ae01c83a94af5dc3c20e8135b974687ed004.zip
ehea: fix race condition
When ehea_stop is called the function cancel_work_sync(&port->reset_task) is used to ensure that the reset task is not running anymore. We need an additional flag to ensure that it can not be scheduled after this call again for a certain time. Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/ehea/ehea.h')
-rw-r--r--drivers/net/ehea/ehea.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h
index bf57e1532f5e..e01926b7b5b7 100644
--- a/drivers/net/ehea/ehea.h
+++ b/drivers/net/ehea/ehea.h
@@ -40,7 +40,7 @@
#include <asm/io.h>
#define DRV_NAME "ehea"
-#define DRV_VERSION "EHEA_0091"
+#define DRV_VERSION "EHEA_0092"
/* eHEA capability flags */
#define DLPAR_PORT_ADD_REM 1
@@ -478,6 +478,7 @@ struct ehea_port {
int num_add_tx_qps;
int num_mcs;
int resets;
+ u64 flags;
u64 mac_addr;
u32 logical_port_id;
u32 port_speed;
@@ -501,7 +502,8 @@ struct port_res_cfg {
};
enum ehea_flag_bits {
- __EHEA_STOP_XFER
+ __EHEA_STOP_XFER,
+ __EHEA_DISABLE_PORT_RESET
};
void ehea_set_ethtool_ops(struct net_device *netdev);