aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/netxen/netxen_nic_main.c
diff options
context:
space:
mode:
authorAmit S. Kale <amitkale@netxen.com>2006-12-18 08:53:36 -0500
committerJeff Garzik <jeff@garzik.org>2006-12-26 16:46:05 -0500
commit6c5866441669ab71f6297556ea281a6bcbfd13db (patch)
tree6deccde9df7c483d8c2a0172b3a45b76d836c249 /drivers/net/netxen/netxen_nic_main.c
parentd2378e89720f364ccf3a57b26f1827923d3464f2 (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.c15
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
972static void netxen_tx_timeout_task(struct work_struct *work) 971static 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}