These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / net / mac802154 / util.c
index 150bf80..f9fd095 100644 (file)
@@ -14,6 +14,7 @@
  */
 
 #include "ieee802154_i.h"
+#include "driver-ops.h"
 
 /* privid for wpan_phys to determine whether they belong to us or not */
 const void *const mac802154_wpan_phy_privid = &mac802154_wpan_phy_privid;
@@ -85,11 +86,17 @@ void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb,
                        hrtimer_start(&local->ifs_timer,
                                      ktime_set(0, hw->phy->sifs_period * NSEC_PER_USEC),
                                      HRTIMER_MODE_REL);
-
-               consume_skb(skb);
        } else {
                ieee802154_wake_queue(hw);
-               consume_skb(skb);
        }
+
+       dev_consume_skb_any(skb);
 }
 EXPORT_SYMBOL(ieee802154_xmit_complete);
+
+void ieee802154_stop_device(struct ieee802154_local *local)
+{
+       flush_workqueue(local->workqueue);
+       hrtimer_cancel(&local->ifs_timer);
+       drv_stop(local);
+}