···498498 add_wait_queue(&thread->wait_q, &wait);499499500500 set_current_state(TASK_INTERRUPTIBLE);501501+ if (kthread_should_stop()) {502502+ BT_DBG("main_thread: break from main thread");503503+ break;504504+ }501505502506 if (adapter->wakeup_tries ||503507 ((!adapter->int_count) &&···516512 remove_wait_queue(&thread->wait_q, &wait);517513518514 BT_DBG("main_thread woke up");519519-520520- if (kthread_should_stop()) {521521- BT_DBG("main_thread: break from main thread");522522- break;523523- }524515525516 spin_lock_irqsave(&priv->driver_lock, flags);526517 if (adapter->int_count) {
···930930 brcmf_fws_del_interface(ifp);931931 brcmf_fws_deinit(drvr);932932 }933933+ if (drvr->iflist[0]) {934934+ free_netdev(ifp->ndev);935935+ drvr->iflist[0] = NULL;936936+ }933937 if (p2p_ifp) {934938 free_netdev(p2p_ifp->ndev);935939 drvr->iflist[1] = NULL;
+2-15
drivers/net/wireless/brcm80211/brcmsmac/main.c
···30743074 */30753075static bool brcms_c_ps_allowed(struct brcms_c_info *wlc)30763076{30773077- /* disallow PS when one of the following global conditions meets */30783078- if (!wlc->pub->associated)30793079- return false;30803080-30813081- /* disallow PS when one of these meets when not scanning */30823082- if (wlc->filter_flags & FIF_PROMISC_IN_BSS)30833083- return false;30843084-30853085- if (wlc->bsscfg->type == BRCMS_TYPE_AP)30863086- return false;30873087-30883088- if (wlc->bsscfg->type == BRCMS_TYPE_ADHOC)30893089- return false;30903090-30913091- return true;30773077+ /* not supporting PS so always return false for now */30783078+ return false;30923079}3093308030943081static void brcms_c_statsupd(struct brcms_c_info *wlc)
···180180 tx_cmd->tx_flags |= cpu_to_le32(TX_CMD_FLG_STA_RATE);181181 return;182182 } else if (ieee80211_is_back_req(fc)) {183183- tx_cmd->tx_flags |= cpu_to_le32(TX_CMD_FLG_STA_RATE);183183+ tx_cmd->tx_flags |=184184+ cpu_to_le32(TX_CMD_FLG_ACK | TX_CMD_FLG_BAR);184185 }185186186187 /* HT rate doesn't make sense for a non data frame */
+18-11
drivers/net/wireless/rt2x00/rt2800lib.c
···30273027 * TODO: we do not use +6 dBm option to do not increase power beyond30283028 * regulatory limit, however this could be utilized for devices with30293029 * CAPABILITY_POWER_LIMIT.30303030+ *30313031+ * TODO: add different temperature compensation code for RT3290 & RT539030323032+ * to allow to use BBP_R1 for those chips.30303033 */30313031- rt2800_bbp_read(rt2x00dev, 1, &r1);30323032- if (delta <= -12) {30333033- power_ctrl = 2;30343034- delta += 12;30353035- } else if (delta <= -6) {30363036- power_ctrl = 1;30373037- delta += 6;30383038- } else {30393039- power_ctrl = 0;30343034+ if (!rt2x00_rt(rt2x00dev, RT3290) &&30353035+ !rt2x00_rt(rt2x00dev, RT5390)) {30363036+ rt2800_bbp_read(rt2x00dev, 1, &r1);30373037+ if (delta <= -12) {30383038+ power_ctrl = 2;30393039+ delta += 12;30403040+ } else if (delta <= -6) {30413041+ power_ctrl = 1;30423042+ delta += 6;30433043+ } else {30443044+ power_ctrl = 0;30453045+ }30463046+ rt2x00_set_field8(&r1, BBP1_TX_POWER_CTRL, power_ctrl);30473047+ rt2800_bbp_write(rt2x00dev, 1, r1);30403048 }30413041- rt2x00_set_field8(&r1, BBP1_TX_POWER_CTRL, power_ctrl);30423042- rt2800_bbp_write(rt2x00dev, 1, r1);30493049+30433050 offset = TX_PWR_CFG_0;3044305130453052 for (i = 0; i < EEPROM_TXPOWER_BYRATE_SIZE; i += 2) {