]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/spider_net.c
WorkStruct: make allyesconfig
[net-next-2.6.git] / drivers / net / spider_net.c
index 418138dd6c687452afe9636bafb87c0658a69712..f88fcac0e46a13c96789d26331916f3c681c3cb7 100644 (file)
@@ -1945,10 +1945,11 @@ spider_net_stop(struct net_device *netdev)
  * called as task when tx hangs, resets interface (if interface is up)
  */
 static void
-spider_net_tx_timeout_task(void *data)
+spider_net_tx_timeout_task(struct work_struct *work)
 {
-       struct net_device *netdev = data;
-       struct spider_net_card *card = netdev_priv(netdev);
+       struct spider_net_card *card =
+               container_of(work, struct spider_net_card, tx_timeout_task);
+       struct net_device *netdev = card->netdev;
 
        if (!(netdev->flags & IFF_UP))
                goto out;
@@ -2122,7 +2123,7 @@ spider_net_alloc_card(void)
        card = netdev_priv(netdev);
        card->netdev = netdev;
        card->msg_enable = SPIDER_NET_DEFAULT_MSG;
-       INIT_WORK(&card->tx_timeout_task, spider_net_tx_timeout_task, netdev);
+       INIT_WORK(&card->tx_timeout_task, spider_net_tx_timeout_task);
        init_waitqueue_head(&card->waitq);
        atomic_set(&card->tx_timeout_task_counter, 0);