diff options
author | Jan-Bernd Themann <ossthema@de.ibm.com> | 2008-07-03 16:18:51 +0200 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-07-04 14:10:41 +0200 |
commit | 2f69ae01c83a94af5dc3c20e8135b974687ed004 (patch) | |
tree | fba9563322f4f0932b0222f4b026cb96485dc0c5 /drivers/net/ehea/ehea.h | |
parent | ehea: add MODULE_DEVICE_TABLE (diff) | |
download | linux-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.h | 6 |
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); |