Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5b248dd authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'for-davem' of...

Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless

 into wireless

John W. Linville says:

====================
This will probably be the last batch of wireless fixes intended
for 3.10.  Many of these are one- or two-liners, and a couple of
others are mostly relocating existing code to avoid races or to
limit the code to effecting specific hardware, etc.

The mac80211 fixes have a couple of exceptions to the above.
Regarding those, Johannes says:

"Following davem's complaint about my patch, here's a new pull request
w/o the patch he was complaining about, but instead with the const
fix rolled into the fix.

I have a fix for radar detection, one for rate control and a workaround
for broken HT APs which is a regression fix because we didn't rely
on them to be correct before."

Johannes also sends some iwlwifi fixes:

"I picked up Nikolay's patch for the chain noise calibration bug
that seems to have been there forever, a fix from Emmanuel for
setting TX flags on BAR frames and a fix of my own to avoid printing
request_module() errors if the kernel isn't even modular. We also
have our own version of Stanislaw's fix for rate control."

Along with those...

Anderson Lizardo fixes a Bluetooth memory corruption bug when an MTU
value is set to too small of a value.

Arend van Spriel sends a revised brcmsmac bug that fixes a regression
caused by a bad return value in an earlier patch.  He also sends a
brcmfmac fix to avoid an oops when loading the driver at boot.

Daniel Drake fixes a race condition in btmrvl that causes hangs on
suspend for OLPC hardware.

Johan Hedberg adds a check to avoid sending a
HCI_Delete_Stored_Link_Key command to devices that don't support them,
avoiding some scary looking log spam.

Stanislaw Gruszka gives us a fix for iwlegacy to be able to use rates
higher than 1Mb/s on older wireless networks.  He also sends an rt2x00
fix to reinstate older tx power handling behavior for some devices
that didn't work well with the current code.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents e00c7f1f 722a300b
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -498,6 +498,10 @@ static int btmrvl_service_main_thread(void *data)
		add_wait_queue(&thread->wait_q, &wait);

		set_current_state(TASK_INTERRUPTIBLE);
		if (kthread_should_stop()) {
			BT_DBG("main_thread: break from main thread");
			break;
		}

		if (adapter->wakeup_tries ||
				((!adapter->int_count) &&
@@ -513,11 +517,6 @@ static int btmrvl_service_main_thread(void *data)

		BT_DBG("main_thread woke up");

		if (kthread_should_stop()) {
			BT_DBG("main_thread: break from main thread");
			break;
		}

		spin_lock_irqsave(&priv->driver_lock, flags);
		if (adapter->int_count) {
			adapter->int_count = 0;
+4 −0
Original line number Diff line number Diff line
@@ -930,6 +930,10 @@ fail:
			brcmf_fws_del_interface(ifp);
			brcmf_fws_deinit(drvr);
		}
		if (drvr->iflist[0]) {
			free_netdev(ifp->ndev);
			drvr->iflist[0] = NULL;
		}
		if (p2p_ifp) {
			free_netdev(p2p_ifp->ndev);
			drvr->iflist[1] = NULL;
+2 −15
Original line number Diff line number Diff line
@@ -3074,21 +3074,8 @@ static void brcms_b_antsel_set(struct brcms_hardware *wlc_hw, u32 antsel_avail)
 */
static bool brcms_c_ps_allowed(struct brcms_c_info *wlc)
{
	/* disallow PS when one of the following global conditions meets */
	if (!wlc->pub->associated)
	/* not supporting PS so always return false for now */
	return false;

	/* disallow PS when one of these meets when not scanning */
	if (wlc->filter_flags & FIF_PROMISC_IN_BSS)
		return false;

	if (wlc->bsscfg->type == BRCMS_TYPE_AP)
		return false;

	if (wlc->bsscfg->type == BRCMS_TYPE_ADHOC)
		return false;

	return true;
}

static void brcms_c_statsupd(struct brcms_c_info *wlc)
+1 −0
Original line number Diff line number Diff line
@@ -816,6 +816,7 @@ out:
		rs_sta->last_txrate_idx = idx;
		info->control.rates[0].idx = rs_sta->last_txrate_idx;
	}
	info->control.rates[0].count = 1;

	D_RATE("leave: %d\n", idx);
}
+1 −1
Original line number Diff line number Diff line
@@ -2268,7 +2268,7 @@ il4965_rs_get_rate(void *il_r, struct ieee80211_sta *sta, void *il_sta,
		info->control.rates[0].flags = 0;
	}
	info->control.rates[0].idx = rate_idx;

	info->control.rates[0].count = 1;
}

static void *
Loading