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

Merge tag 'wireless-drivers-2021-10-01' of...

Merge tag 'wireless-drivers-2021-10-01' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers

wireless-drivers fixes for v5.15

Second set of fixes for v5.15, nothing major this time. Most important
here are reverting a brcmfmac regression and a fix for an old rare
ath5k build error.

iwlwifi

* fixes to NULL dereference, off by one and missing unlock

* add support for Killer AX1650 on Dell XPS 15 (9510) laptop

ath5k

* build fix with LEDS=m

brcmfmac

* revert a regression causing BCM4359/9 devices stop working as access point

mwifiex

* fix clang warning about null pointer arithmetic
parents ca6e11c3 603a1621
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -971,6 +971,7 @@ D: PowerPC
N: Daniel Drake
E: dsd@gentoo.org
D: USBAT02 CompactFlash support in usb-storage
D: ZD1211RW wireless driver
S: UK

N: Oleg Drokin
+0 −2
Original line number Diff line number Diff line
@@ -17793,7 +17793,6 @@ F: drivers/staging/nvec/
STAGING - OLPC SECONDARY DISPLAY CONTROLLER (DCON)
M:	Jens Frederich <jfrederich@gmail.com>
M:	Daniel Drake <dsd@laptop.org>
M:	Jon Nettleton <jon.nettleton@gmail.com>
S:	Maintained
W:	http://wiki.laptop.org/go/DCON
@@ -20698,7 +20697,6 @@ S: Maintained
F:	mm/zbud.c
ZD1211RW WIRELESS DRIVER
M:	Daniel Drake <dsd@gentoo.org>
M:	Ulrich Kunitz <kune@deine-taler.de>
L:	linux-wireless@vger.kernel.org
L:	zd1211-devs@lists.sourceforge.net (subscribers-only)
+1 −3
Original line number Diff line number Diff line
@@ -3,9 +3,7 @@ config ATH5K
	tristate "Atheros 5xxx wireless cards support"
	depends on (PCI || ATH25) && MAC80211
	select ATH_COMMON
	select MAC80211_LEDS
	select LEDS_CLASS
	select NEW_LEDS
	select MAC80211_LEDS if LEDS_CLASS=y || LEDS_CLASS=MAC80211
	select ATH5K_AHB if ATH25
	select ATH5K_PCI if !ATH25
	help
+6 −4
Original line number Diff line number Diff line
@@ -89,7 +89,8 @@ static const struct pci_device_id ath5k_led_devices[] = {

void ath5k_led_enable(struct ath5k_hw *ah)
{
	if (test_bit(ATH_STAT_LEDSOFT, ah->status)) {
	if (IS_ENABLED(CONFIG_MAC80211_LEDS) &&
	    test_bit(ATH_STAT_LEDSOFT, ah->status)) {
		ath5k_hw_set_gpio_output(ah, ah->led_pin);
		ath5k_led_off(ah);
	}
@@ -104,7 +105,8 @@ static void ath5k_led_on(struct ath5k_hw *ah)

void ath5k_led_off(struct ath5k_hw *ah)
{
	if (!test_bit(ATH_STAT_LEDSOFT, ah->status))
	if (!IS_ENABLED(CONFIG_MAC80211_LEDS) ||
	    !test_bit(ATH_STAT_LEDSOFT, ah->status))
		return;
	ath5k_hw_set_gpio(ah, ah->led_pin, !ah->led_on);
}
@@ -146,7 +148,7 @@ ath5k_register_led(struct ath5k_hw *ah, struct ath5k_led *led,
static void
ath5k_unregister_led(struct ath5k_led *led)
{
	if (!led->ah)
	if (!IS_ENABLED(CONFIG_MAC80211_LEDS) || !led->ah)
		return;
	led_classdev_unregister(&led->led_dev);
	ath5k_led_off(led->ah);
@@ -169,7 +171,7 @@ int ath5k_init_leds(struct ath5k_hw *ah)
	char name[ATH5K_LED_MAX_NAME_LEN + 1];
	const struct pci_device_id *match;

	if (!ah->pdev)
	if (!IS_ENABLED(CONFIG_MAC80211_LEDS) || !ah->pdev)
		return 0;

#ifdef CONFIG_ATH5K_AHB
+6 −11
Original line number Diff line number Diff line
@@ -7463,23 +7463,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2],
	s32 found_index;
	int i;

	country_codes = drvr->settings->country_codes;
	if (!country_codes) {
		brcmf_dbg(TRACE, "No country codes configured for device\n");
		return -EINVAL;
	}

	if ((alpha2[0] == ccreq->country_abbrev[0]) &&
	    (alpha2[1] == ccreq->country_abbrev[1])) {
		brcmf_dbg(TRACE, "Country code already set\n");
		return -EAGAIN;
	}

	country_codes = drvr->settings->country_codes;
	if (!country_codes) {
		brcmf_dbg(TRACE, "No country codes configured for device, using ISO3166 code and 0 rev\n");
		memset(ccreq, 0, sizeof(*ccreq));
		ccreq->country_abbrev[0] = alpha2[0];
		ccreq->country_abbrev[1] = alpha2[1];
		ccreq->ccode[0] = alpha2[0];
		ccreq->ccode[1] = alpha2[1];
		return 0;
	}

	found_index = -1;
	for (i = 0; i < country_codes->table_size; i++) {
		cc = &country_codes->table[i];
Loading