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

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

Merge tag 'wireless-drivers-for-davem-2018-07-03' of...

Merge tag 'wireless-drivers-for-davem-2018-07-03' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers



Kalle Valo says:

====================
wireless-drivers fixes for 4.18

First set of fixes for 4.18 and for numerous drivers. Something to mention
about is the wcn36xx fix which makes it possible to compile with gcc older than
4.4 (though I'm not sure if we even support those anymore).

qtnfmac

* coverity fix for a new commit in v4.18-rc1

rtlwifi

* fix kernel oops during driver removal

* fix firmware image corruption for rtl8821ae

brcmfmac

* fix crash if there's no firmware image

mwifiex

* a revert and a better fix for a new commit v4.18-rc1

mt7601u

* fix a recent regression about unnecessary warning about avg_rssi

wcn36xx

* convert testmode.c to plain ASCII

ath10k

* fix a firmware crash during bandwidth change
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 2d0ec544 4fa9433f
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -8628,7 +8628,7 @@ MARVELL MWIFIEX WIRELESS DRIVER
M:	Amitkumar Karwar <amitkarwar@gmail.com>
M:	Amitkumar Karwar <amitkarwar@gmail.com>
M:	Nishant Sarmukadam <nishants@marvell.com>
M:	Nishant Sarmukadam <nishants@marvell.com>
M:	Ganapathi Bhat <gbhat@marvell.com>
M:	Ganapathi Bhat <gbhat@marvell.com>
M:	Xinming Hu <huxm@marvell.com>
M:	Xinming Hu <huxinming820@gmail.com>
L:	linux-wireless@vger.kernel.org
L:	linux-wireless@vger.kernel.org
S:	Maintained
S:	Maintained
F:	drivers/net/wireless/marvell/mwifiex/
F:	drivers/net/wireless/marvell/mwifiex/
+14 −2
Original line number Original line Diff line number Diff line
@@ -6058,8 +6058,19 @@ static void ath10k_sta_rc_update_wk(struct work_struct *wk)
			   ath10k_mac_max_vht_nss(vht_mcs_mask)));
			   ath10k_mac_max_vht_nss(vht_mcs_mask)));


	if (changed & IEEE80211_RC_BW_CHANGED) {
	if (changed & IEEE80211_RC_BW_CHANGED) {
		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac update sta %pM peer bw %d\n",
		enum wmi_phy_mode mode;
			   sta->addr, bw);

		mode = chan_to_phymode(&def);
		ath10k_dbg(ar, ATH10K_DBG_MAC, "mac update sta %pM peer bw %d phymode %d\n",
				sta->addr, bw, mode);

		err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
				WMI_PEER_PHYMODE, mode);
		if (err) {
			ath10k_warn(ar, "failed to update STA %pM peer phymode %d: %d\n",
					sta->addr, mode, err);
			goto exit;
		}


		err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
		err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
						WMI_PEER_CHAN_WIDTH, bw);
						WMI_PEER_CHAN_WIDTH, bw);
@@ -6100,6 +6111,7 @@ static void ath10k_sta_rc_update_wk(struct work_struct *wk)
				    sta->addr);
				    sta->addr);
	}
	}


exit:
	mutex_unlock(&ar->conf_mutex);
	mutex_unlock(&ar->conf_mutex);
}
}


+1 −0
Original line number Original line Diff line number Diff line
@@ -6144,6 +6144,7 @@ enum wmi_peer_param {
	WMI_PEER_NSS        = 0x5,
	WMI_PEER_NSS        = 0x5,
	WMI_PEER_USE_4ADDR  = 0x6,
	WMI_PEER_USE_4ADDR  = 0x6,
	WMI_PEER_DEBUG      = 0xa,
	WMI_PEER_DEBUG      = 0xa,
	WMI_PEER_PHYMODE    = 0xd,
	WMI_PEER_DUMMY_VAR  = 0xff, /* dummy parameter for STA PS workaround */
	WMI_PEER_DUMMY_VAR  = 0xff, /* dummy parameter for STA PS workaround */
};
};


+1 −1
Original line number Original line Diff line number Diff line
/*
/*
 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
 *
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * Permission to use, copy, modify, and/or distribute this software for any
+7 −0
Original line number Original line Diff line number Diff line
@@ -4296,6 +4296,13 @@ void brcmf_sdio_remove(struct brcmf_sdio *bus)
	brcmf_dbg(TRACE, "Enter\n");
	brcmf_dbg(TRACE, "Enter\n");


	if (bus) {
	if (bus) {
		/* Stop watchdog task */
		if (bus->watchdog_tsk) {
			send_sig(SIGTERM, bus->watchdog_tsk, 1);
			kthread_stop(bus->watchdog_tsk);
			bus->watchdog_tsk = NULL;
		}

		/* De-register interrupt handler */
		/* De-register interrupt handler */
		brcmf_sdiod_intr_unregister(bus->sdiodev);
		brcmf_sdiod_intr_unregister(bus->sdiodev);


Loading