unsigned int changed_flags;
        unsigned int new_flags = 0;
 
-       if (local->iff_promiscs)
+       if (atomic_read(&local->iff_promiscs))
                new_flags |= FIF_PROMISC_IN_BSS;
 
-       if (local->iff_allmultis)
+       if (atomic_read(&local->iff_allmultis))
                new_flags |= FIF_ALLMULTI;
 
        if (local->monitors)
 
        if (allmulti != sdata_allmulti) {
                if (dev->flags & IFF_ALLMULTI)
-                       local->iff_allmultis++;
+                       atomic_inc(&local->iff_allmultis);
                else
-                       local->iff_allmultis--;
+                       atomic_dec(&local->iff_allmultis);
                sdata->flags ^= IEEE80211_SDATA_ALLMULTI;
        }
 
        if (promisc != sdata_promisc) {
                if (dev->flags & IFF_PROMISC)
-                       local->iff_promiscs++;
+                       atomic_inc(&local->iff_promiscs);
                else
-                       local->iff_promiscs--;
+                       atomic_dec(&local->iff_promiscs);
                sdata->flags ^= IEEE80211_SDATA_PROMISC;
        }
 
 
        struct ieee80211_tx_stored_packet pending_packet[NUM_TX_DATA_QUEUES];
        struct tasklet_struct tx_pending_tasklet;
 
-       int mc_count;   /* total count of multicast entries in all interfaces */
-       int iff_allmultis, iff_promiscs;
-                       /* number of interfaces with corresponding IFF_ flags */
+       /* number of interfaces with corresponding IFF_ flags */
+       atomic_t iff_allmultis, iff_promiscs;
 
        struct rate_control_ref *rate_ctrl;
 
 
        skb = rx.skb;
 
        if (sta && !(sta->flags & (WLAN_STA_WDS | WLAN_STA_ASSOC_AP)) &&
-           !local->iff_promiscs && !is_multicast_ether_addr(hdr->addr1)) {
+           !atomic_read(&local->iff_promiscs) &&
+           !is_multicast_ether_addr(hdr->addr1)) {
                rx.flags |= IEEE80211_TXRXD_RXRA_MATCH;
                ieee80211_invoke_rx_handlers(local, local->rx_handlers, &rx,
                                             rx.sta);