OSDN Git Service

Merge tag 'trace-fixes-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[uclinux-h8/linux.git] / net / mac802154 / rx.c
index c0d67b2..d93ad2d 100644 (file)
@@ -47,8 +47,6 @@ ieee802154_subif_frame(struct ieee802154_sub_if_data *sdata,
 
        pr_debug("getting packet via slave interface %s\n", sdata->dev->name);
 
-       spin_lock_bh(&sdata->mib_lock);
-
        span = wpan_dev->pan_id;
        sshort = wpan_dev->short_addr;
 
@@ -83,13 +81,10 @@ ieee802154_subif_frame(struct ieee802154_sub_if_data *sdata,
                        skb->pkt_type = PACKET_OTHERHOST;
                break;
        default:
-               spin_unlock_bh(&sdata->mib_lock);
                pr_debug("invalid dest mode\n");
                goto fail;
        }
 
-       spin_unlock_bh(&sdata->mib_lock);
-
        skb->dev = sdata->dev;
 
        rc = mac802154_llsec_decrypt(&sdata->sec, skb);
@@ -207,8 +202,10 @@ __ieee802154_rx_handle_packet(struct ieee802154_local *local,
        }
 
        list_for_each_entry_rcu(sdata, &local->interfaces, list) {
-               if (sdata->vif.type != NL802154_IFTYPE_NODE ||
-                   !netif_running(sdata->dev))
+               if (sdata->wpan_dev.iftype != NL802154_IFTYPE_NODE)
+                       continue;
+
+               if (!ieee802154_sdata_running(sdata))
                        continue;
 
                ieee802154_subif_frame(sdata, skb, &hdr);
@@ -232,7 +229,7 @@ ieee802154_monitors_rx(struct ieee802154_local *local, struct sk_buff *skb)
        skb->protocol = htons(ETH_P_IEEE802154);
 
        list_for_each_entry_rcu(sdata, &local->interfaces, list) {
-               if (sdata->vif.type != NL802154_IFTYPE_MONITOR)
+               if (sdata->wpan_dev.iftype != NL802154_IFTYPE_MONITOR)
                        continue;
 
                if (!ieee802154_sdata_running(sdata))