aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/vxge/vxge-main.h
diff options
context:
space:
mode:
authorJon Mason <jon.mason@exar.com>2010-12-10 14:02:59 +0000
committerDavid S. Miller <davem@davemloft.net>2010-12-10 16:08:23 -0800
commit2e41f6449c561e6e3f572e11d0f2240bd51104db (patch)
treeef85460cfe71e67cd76cc764c7f48ee88a8005ab /drivers/net/vxge/vxge-main.h
parentvxge: use pci_request_region() (diff)
downloadlinux-dev-2e41f6449c561e6e3f572e11d0f2240bd51104db.tar.xz
linux-dev-2e41f6449c561e6e3f572e11d0f2240bd51104db.zip
vxge: transmit timeout deadlock
Use a workqueue to handle the device reset during a transmit timeout, as there can be a deadlock during bringup. Also, set the netif carrier off before the watchdog reset is started to prevent the timeout from reoccurring while still processing the first. Signed-off-by: Jon Mason <jon.mason@exar.com> Signed-off-by: Ram Vepa <ram.vepa@exar.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--drivers/net/vxge/vxge-main.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/vxge/vxge-main.h b/drivers/net/vxge/vxge-main.h
index 256d5b406a67..5746fedc356f 100644
--- a/drivers/net/vxge/vxge-main.h
+++ b/drivers/net/vxge/vxge-main.h
@@ -395,6 +395,7 @@ struct vxgedev {
u32 level_err;
u32 level_trace;
char fw_version[VXGE_HW_FW_STRLEN];
+ struct work_struct reset_task;
};
struct vxge_rx_priv {