]> git.karo-electronics.de Git - linux-beck.git/commitdiff
staging: wilc1000: wilc_wlan_txq_remove_from_head: add new argument dev
authorGlen Lee <glen.lee@atmel.com>
Thu, 29 Oct 2015 03:18:43 +0000 (12:18 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 16 Nov 2015 04:02:47 +0000 (20:02 -0800)
Add new argument dev and use it instead of g_linux_wlan, and pass argument
dev to the function as well.

Signed-off-by: Glen Lee <glen.lee@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/wilc_wlan.c

index 6c7cbd1125b5dfad455dcebd44fd0445e6f0575a..5dcc4d21fa313bdd3895f241e8631f371e78f823 100644 (file)
@@ -159,13 +159,19 @@ static void wilc_wlan_txq_remove(struct txq_entry_t *tqe)
 
 }
 
-static struct txq_entry_t *wilc_wlan_txq_remove_from_head(void)
+static struct txq_entry_t *
+wilc_wlan_txq_remove_from_head(struct net_device *dev)
 {
        struct txq_entry_t *tqe;
        wilc_wlan_dev_t *p = &g_wlan;
        unsigned long flags;
+       perInterface_wlan_t *nic;
+       struct wilc *wilc;
 
-       spin_lock_irqsave(&g_linux_wlan->txq_spinlock, flags);
+       nic = netdev_priv(dev);
+       wilc = nic->wilc;
+
+       spin_lock_irqsave(&wilc->txq_spinlock, flags);
        if (p->txq_head) {
                tqe = p->txq_head;
                p->txq_head = tqe->next;
@@ -180,7 +186,7 @@ static struct txq_entry_t *wilc_wlan_txq_remove_from_head(void)
        } else {
                tqe = NULL;
        }
-       spin_unlock_irqrestore(&g_linux_wlan->txq_spinlock, flags);
+       spin_unlock_irqrestore(&wilc->txq_spinlock, flags);
        return tqe;
 }
 
@@ -1035,7 +1041,7 @@ int wilc_wlan_handle_txq(struct net_device *dev, u32 *pu32TxqCount)
                offset = 0;
                i = 0;
                do {
-                       tqe = wilc_wlan_txq_remove_from_head();
+                       tqe = wilc_wlan_txq_remove_from_head(dev);
                        if (tqe != NULL && (vmm_table[i] != 0)) {
                                u32 header, buffer_offset;
 
@@ -1668,7 +1674,7 @@ void wilc_wlan_cleanup(struct net_device *dev)
 
        p->quit = 1;
        do {
-               tqe = wilc_wlan_txq_remove_from_head();
+               tqe = wilc_wlan_txq_remove_from_head(dev);
                if (tqe == NULL)
                        break;
                if (tqe->tx_complete_func)