···756756 priv->nr_retries = 0;757757 } else {758758 priv->cur_cmd = NULL;759759+ priv->dnld_sent = DNLD_RES_RECEIVED;759760 lbs_pr_info("requeueing command %x due to timeout (#%d)\n",760761 le16_to_cpu(cmdnode->cmdbuf->command), priv->nr_retries);761762···15651564 rtap_dev->hard_start_xmit = lbs_rtap_hard_start_xmit;15661565 rtap_dev->set_multicast_list = lbs_set_multicast_list;15671566 rtap_dev->priv = priv;15671567+ SET_NETDEV_DEV(rtap_dev, priv->dev->dev.parent);1568156815691569 ret = register_netdev(rtap_dev);15701570 if (ret) {
+23-2
include/net/mac80211.h
···15941594void ieee80211_scan_completed(struct ieee80211_hw *hw);1595159515961596/**15971597- * ieee80211_iterate_active_interfaces - iterate active interfaces15971597+ * ieee80211_iterate_active_interfaces- iterate active interfaces15981598 *15991599 * This function iterates over the interfaces associated with a given16001600 * hardware that are currently active and calls the callback for them.16011601+ * This function allows the iterator function to sleep, when the iterator16021602+ * function is atomic @ieee80211_iterate_active_interfaces_atomic can16031603+ * be used.16011604 *16021605 * @hw: the hardware struct of which the interfaces should be iterated over16031603- * @iterator: the iterator function to call, cannot sleep16061606+ * @iterator: the iterator function to call16041607 * @data: first argument of the iterator function16051608 */16061609void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw,16071610 void (*iterator)(void *data, u8 *mac,16081611 struct ieee80211_vif *vif),16091612 void *data);16131613+16141614+/**16151615+ * ieee80211_iterate_active_interfaces_atomic - iterate active interfaces16161616+ *16171617+ * This function iterates over the interfaces associated with a given16181618+ * hardware that are currently active and calls the callback for them.16191619+ * This function requires the iterator callback function to be atomic,16201620+ * if that is not desired, use @ieee80211_iterate_active_interfaces instead.16211621+ *16221622+ * @hw: the hardware struct of which the interfaces should be iterated over16231623+ * @iterator: the iterator function to call, cannot sleep16241624+ * @data: first argument of the iterator function16251625+ */16261626+void ieee80211_iterate_active_interfaces_atomic(struct ieee80211_hw *hw,16271627+ void (*iterator)(void *data,16281628+ u8 *mac,16291629+ struct ieee80211_vif *vif),16301630+ void *data);1610163116111632/**16121633 * ieee80211_start_tx_ba_session - Start a tx Block Ack session.