diff options
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 | } |