--- linux-2.6.22.1/drivers/net/mv643xx_eth.c 2007-07-18 21:45:13.000000000 -0500 +++ linux-2.6.22.1-rci/drivers/net/mv643xx_eth.c 2007-07-18 21:44:07.000000000 -0500 @@ -317,11 +315,9 @@ * * Actual routine to reset the adapter when a timeout on Tx has occurred */ -static void mv643xx_eth_tx_timeout_task(struct work_struct *ugly) +static void mv643xx_eth_tx_timeout_task(struct net_device *dev) { - struct mv643xx_private *mp = container_of(ugly, struct mv643xx_private, - tx_timeout_task); - struct net_device *dev = mp->mii.dev; /* yuck */ + struct mv643xx_private *mp = netdev_priv(dev); if (!netif_running(dev)) return;