From: Jeff Garzik <jeff@garzik.org>
Date: Thu, 7 Dec 2006 09:57:19 +0000 (-0500)
Subject: Merge branch 'master' into upstream
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=8d1413b28033c49c7f1a4d320e815d7a5531acee;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git

Merge branch 'master' into upstream

Conflicts:

	drivers/net/netxen/netxen_nic.h
	drivers/net/netxen/netxen_nic_main.c
---

8d1413b28033c49c7f1a4d320e815d7a5531acee
diff --cc drivers/net/netxen/netxen_nic.h
index 3151aaa7906e,9c588af8ab74..b5410bee5f21
--- a/drivers/net/netxen/netxen_nic.h
+++ b/drivers/net/netxen/netxen_nic.h
@@@ -1071,12 -922,10 +1072,12 @@@ netxen_nic_do_ioctl(struct netxen_adapt
  		    struct netxen_port *port);
  int netxen_nic_rx_has_work(struct netxen_adapter *adapter);
  int netxen_nic_tx_has_work(struct netxen_adapter *adapter);
- void netxen_watchdog_task(unsigned long v);
+ void netxen_watchdog_task(struct work_struct *work);
  void netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ctx,
  			    u32 ringid);
 -void netxen_process_cmd_ring(unsigned long data);
 +void netxen_post_rx_buffers_nodb(struct netxen_adapter *adapter, u32 ctx,
 +				 u32 ringid);
 +int netxen_process_cmd_ring(unsigned long data);
  u32 netxen_process_rcv_ring(struct netxen_adapter *adapter, int ctx, int max);
  void netxen_nic_set_multi(struct net_device *netdev);
  int netxen_nic_change_mtu(struct net_device *netdev, int new_mtu);
diff --cc drivers/net/netxen/netxen_nic_main.c
index 06c4778f5200,df0bb36a1cfb..913e8147114f
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@@ -318,11 -274,10 +318,10 @@@ netxen_nic_probe(struct pci_dev *pdev, 
  	adapter->ahw.xg_linkup = 0;
  	adapter->watchdog_timer.function = &netxen_watchdog;
  	adapter->watchdog_timer.data = (unsigned long)adapter;
- 	INIT_WORK(&adapter->watchdog_task,
- 		  (void (*)(void *))netxen_watchdog_task, adapter);
+ 	INIT_WORK(&adapter->watchdog_task, netxen_watchdog_task);
  	adapter->ahw.pdev = pdev;
  	adapter->proc_cmd_buf_counter = 0;
 -	pci_read_config_byte(pdev, PCI_REVISION_ID, &adapter->ahw.revision_id);
 +	adapter->ahw.revision_id = nx_p2_id;
  
  	if (pci_enable_msi(pdev)) {
  		adapter->flags &= ~NETXEN_NIC_MSI_ENABLED;
@@@ -424,13 -372,14 +423,13 @@@
  				       netdev->dev_addr[4],
  				       netdev->dev_addr[5]);
  			} else {
 -				if (adapter->ops->macaddr_set)
 -					adapter->ops->macaddr_set(port,
 -								  netdev->
 -								  dev_addr);
 +				if (adapter->macaddr_set)
 +					adapter->macaddr_set(port,
 +							     netdev->dev_addr);
  			}
  		}
- 		INIT_WORK(adapter->tx_timeout_task + i,
- 			  (void (*)(void *))netxen_tx_timeout_task, netdev);
+ 		adapter->netdev = netdev;
+ 		INIT_WORK(&adapter->tx_timeout_task, netxen_tx_timeout_task);
  		netif_carrier_off(netdev);
  		netif_stop_queue(netdev);
  
@@@ -969,13 -932,16 +968,15 @@@ static void netxen_watchdog(unsigned lo
  static void netxen_tx_timeout(struct net_device *netdev)
  {
  	struct netxen_port *port = (struct netxen_port *)netdev_priv(netdev);
 -	struct netxen_adapter *adapter = port->adapter;
  
 -	schedule_work(&adapter->tx_timeout_task);
 +	SCHEDULE_WORK(port->adapter->tx_timeout_task + port->portnum);
  }
  
- static void netxen_tx_timeout_task(struct net_device *netdev)
+ static void netxen_tx_timeout_task(struct work_struct *work)
  {
- 	struct netxen_port *port = (struct netxen_port *)netdev_priv(netdev);
+ 	struct netxen_adapter *adapter =
+ 		container_of(work, struct netxen_adapter, tx_timeout_task);
+ 	struct net_device *netdev = adapter->netdev;
  	unsigned long flags;
  
  	printk(KERN_ERR "%s %s: transmit timeout, resetting.\n",