diff options
author | Amit S. Kale <amitkale@netxen.com> | 2006-12-18 08:53:36 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-26 16:46:05 -0500 |
commit | 6c5866441669ab71f6297556ea281a6bcbfd13db (patch) | |
tree | 6deccde9df7c483d8c2a0172b3a45b76d836c249 /drivers/net/netxen/netxen_nic_main.c | |
parent | d2378e89720f364ccf3a57b26f1827923d3464f2 (diff) |
NetXen: work queue fixes.
Signed-off-by: Amit S. Kale <amitkale@netxen.com>
netxen_nic.h | 3 +--
netxen_nic_init.c | 2 +-
netxen_nic_main.c | 15 +++++++--------
3 files changed, 9 insertions(+), 11 deletions(-)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/netxen/netxen_nic_main.c')
-rw-r--r-- | drivers/net/netxen/netxen_nic_main.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c index 926ead774f5..bc08d21adc4 100644 --- a/drivers/net/netxen/netxen_nic_main.c +++ b/drivers/net/netxen/netxen_nic_main.c | |||
@@ -424,8 +424,7 @@ netxen_nic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
424 | netdev->dev_addr); | 424 | netdev->dev_addr); |
425 | } | 425 | } |
426 | } | 426 | } |
427 | adapter->netdev = netdev; | 427 | INIT_WORK(&port->tx_timeout_task, netxen_tx_timeout_task); |
428 | INIT_WORK(&adapter->tx_timeout_task, netxen_tx_timeout_task); | ||
429 | netif_carrier_off(netdev); | 428 | netif_carrier_off(netdev); |
430 | netif_stop_queue(netdev); | 429 | netif_stop_queue(netdev); |
431 | 430 | ||
@@ -966,23 +965,23 @@ static void netxen_tx_timeout(struct net_device *netdev) | |||
966 | { | 965 | { |
967 | struct netxen_port *port = (struct netxen_port *)netdev_priv(netdev); | 966 | struct netxen_port *port = (struct netxen_port *)netdev_priv(netdev); |
968 | 967 | ||
969 | SCHEDULE_WORK(&port->adapter->tx_timeout_task); | 968 | SCHEDULE_WORK(&port->tx_timeout_task); |
970 | } | 969 | } |
971 | 970 | ||
972 | static void netxen_tx_timeout_task(struct work_struct *work) | 971 | static void netxen_tx_timeout_task(struct work_struct *work) |
973 | { | 972 | { |
974 | struct netxen_adapter *adapter = | 973 | struct netxen_port *port = |
975 | container_of(work, struct netxen_adapter, tx_timeout_task); | 974 | container_of(work, struct netxen_port, tx_timeout_task); |
976 | struct net_device *netdev = adapter->netdev; | 975 | struct net_device *netdev = port->netdev; |
977 | unsigned long flags; | 976 | unsigned long flags; |
978 | 977 | ||
979 | printk(KERN_ERR "%s %s: transmit timeout, resetting.\n", | 978 | printk(KERN_ERR "%s %s: transmit timeout, resetting.\n", |
980 | netxen_nic_driver_name, netdev->name); | 979 | netxen_nic_driver_name, netdev->name); |
981 | 980 | ||
982 | spin_lock_irqsave(&adapter->lock, flags); | 981 | spin_lock_irqsave(&port->adapter->lock, flags); |
983 | netxen_nic_close(netdev); | 982 | netxen_nic_close(netdev); |
984 | netxen_nic_open(netdev); | 983 | netxen_nic_open(netdev); |
985 | spin_unlock_irqrestore(&adapter->lock, flags); | 984 | spin_unlock_irqrestore(&port->adapter->lock, flags); |
986 | netdev->trans_start = jiffies; | 985 | netdev->trans_start = jiffies; |
987 | netif_wake_queue(netdev); | 986 | netif_wake_queue(netdev); |
988 | } | 987 | } |