]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge branch 'mac80211' of git://git.kernel.org/pub/scm/linux/kernel/git/linville...
authorDavid S. Miller <davem@sunset.davemloft.net>
Thu, 31 May 2007 08:23:58 +0000 (01:23 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Thu, 31 May 2007 08:23:58 +0000 (01:23 -0700)
net/mac80211/ieee80211.c
net/mac80211/ieee80211_sta.c

index 6e36df67f8d59b3ecc1c61089249a74454863862..4e84f24fd439852e8473d70147227e82268f4aa0 100644 (file)
@@ -2474,6 +2474,8 @@ static int ieee80211_open(struct net_device *dev)
        if (sdata->type == IEEE80211_IF_TYPE_STA &&
            !local->user_space_mlme)
                netif_carrier_off(dev);
+       else
+               netif_carrier_on(dev);
 
        netif_start_queue(dev);
        return 0;
@@ -3278,8 +3280,10 @@ ieee80211_rx_h_defragment(struct ieee80211_txrx_data *rx)
                        return TXRX_DROP;
                }
        }
-       while ((skb = __skb_dequeue(&entry->skb_list)))
+       while ((skb = __skb_dequeue(&entry->skb_list))) {
                memcpy(skb_put(rx->skb, skb->len), skb->data, skb->len);
+               dev_kfree_skb(skb);
+       }
 
        /* Complete frame has been reassembled - process it now */
        rx->fragmented = 1;
index 3e07e9d6fa426f8dd7184c9ee4244b312ff52f7b..9f30ae4c2ab3e4be6f97f05d816528bb3e411a2c 100644 (file)
@@ -1155,6 +1155,8 @@ static void ieee80211_rx_mgmt_assoc_resp(struct net_device *dev,
        if (status_code != WLAN_STATUS_SUCCESS) {
                printk(KERN_DEBUG "%s: AP denied association (code=%d)\n",
                       dev->name, status_code);
+               if (status_code == WLAN_STATUS_REASSOC_NO_ASSOC)
+                       ifsta->prev_bssid_set = 0;
                return;
        }
 
@@ -2995,7 +2997,7 @@ struct sta_info * ieee80211_ibss_add_sta(struct net_device *dev,
 {
        struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
        struct sta_info *sta;
-       struct ieee80211_sub_if_data *sdata = NULL;
+       struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
 
        /* TODO: Could consider removing the least recently used entry and
         * allow new one to be added. */