[wireless] zd1211rw: workqueue-related build fixes
authorJeff Garzik <jeff@garzik.org>
Thu, 7 Dec 2006 11:30:30 +0000 (06:30 -0500)
committerJeff Garzik <jeff@garzik.org>
Thu, 7 Dec 2006 11:30:30 +0000 (06:30 -0500)
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/wireless/zd1211rw/zd_mac.c

index 61c7916b76565e7f496330c950a4c99c6b7986f3..00ca704ece35b65f0951404d5d1f037869d9921b 100644 (file)
@@ -39,7 +39,7 @@ static void housekeeping_init(struct zd_mac *mac);
 static void housekeeping_enable(struct zd_mac *mac);
 static void housekeeping_disable(struct zd_mac *mac);
 
-static void set_multicast_hash_handler(void *mac_ptr);
+static void set_multicast_hash_handler(struct work_struct *work);
 
 int zd_mac_init(struct zd_mac *mac,
                struct net_device *netdev,
@@ -57,8 +57,7 @@ int zd_mac_init(struct zd_mac *mac,
        softmac_init(ieee80211_priv(netdev));
        zd_chip_init(&mac->chip, netdev, intf);
        housekeeping_init(mac);
-       INIT_WORK(&mac->set_multicast_hash_work, set_multicast_hash_handler,
-                 mac);
+       INIT_WORK(&mac->set_multicast_hash_work, set_multicast_hash_handler);
        return 0;
 }
 
@@ -261,9 +260,10 @@ int zd_mac_set_mac_address(struct net_device *netdev, void *p)
        return 0;
 }
 
-static void set_multicast_hash_handler(void *mac_ptr)
+static void set_multicast_hash_handler(struct work_struct *work)
 {
-       struct zd_mac *mac = mac_ptr;
+       struct zd_mac *mac = container_of(work, struct zd_mac,
+                                         set_multicast_hash_work);
        struct zd_mc_hash hash;
 
        spin_lock_irq(&mac->lock);