aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/325-v4.17-0008-brcmfmac-remove-duplicate-pointer-variable-from-brcm.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/325-v4.17-0008-brcmfmac-remove-duplicate-pointer-variable-from-brcm.patch')
-rw-r--r--package/kernel/mac80211/patches/325-v4.17-0008-brcmfmac-remove-duplicate-pointer-variable-from-brcm.patch126
1 files changed, 126 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/325-v4.17-0008-brcmfmac-remove-duplicate-pointer-variable-from-brcm.patch b/package/kernel/mac80211/patches/325-v4.17-0008-brcmfmac-remove-duplicate-pointer-variable-from-brcm.patch
new file mode 100644
index 0000000000..39fba211fe
--- /dev/null
+++ b/package/kernel/mac80211/patches/325-v4.17-0008-brcmfmac-remove-duplicate-pointer-variable-from-brcm.patch
@@ -0,0 +1,126 @@
+From 2d6edad4b2da1991f74e7b02053eeb4a043b887f Mon Sep 17 00:00:00 2001
+From: Arend Van Spriel <arend.vanspriel@broadcom.com>
+Date: Tue, 20 Feb 2018 00:14:25 +0100
+Subject: [PATCH] brcmfmac: remove duplicate pointer variable from
+ brcmf_sdio_firmware_callback()
+
+In brcmf_sdio_firmware_callback() two pointer variables were used
+pointing to the same construct. Get rid of sdiodev variable.
+
+Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 37 +++++++++++-----------
+ 1 file changed, 18 insertions(+), 19 deletions(-)
+
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+@@ -4039,9 +4039,8 @@ static void brcmf_sdio_firmware_callback
+ void *nvram, u32 nvram_len)
+ {
+ struct brcmf_bus *bus_if = dev_get_drvdata(dev);
+- struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
+- struct brcmf_sdio *bus = sdiodev->bus;
+- struct brcmf_sdio_dev *sdiod = bus->sdiodev;
++ struct brcmf_sdio_dev *sdiod = bus_if->bus_priv.sdio;
++ struct brcmf_sdio *bus = sdiod->bus;
+ struct brcmf_core *core = bus->sdio_core;
+ u8 saveclk;
+
+@@ -4061,7 +4060,7 @@ static void brcmf_sdio_firmware_callback
+ bus->sdcnt.tickcnt = 0;
+ brcmf_sdio_wd_timer(bus, true);
+
+- sdio_claim_host(sdiodev->func1);
++ sdio_claim_host(sdiod->func1);
+
+ /* Make sure backplane clock is on, needed to generate F2 interrupt */
+ brcmf_sdio_clkctl(bus, CLK_AVAIL, false);
+@@ -4069,9 +4068,9 @@ static void brcmf_sdio_firmware_callback
+ goto release;
+
+ /* Force clocks on backplane to be sure F2 interrupt propagates */
+- saveclk = brcmf_sdiod_readb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, &err);
++ saveclk = brcmf_sdiod_readb(sdiod, SBSDIO_FUNC1_CHIPCLKCSR, &err);
+ if (!err) {
+- brcmf_sdiod_writeb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR,
++ brcmf_sdiod_writeb(sdiod, SBSDIO_FUNC1_CHIPCLKCSR,
+ (saveclk | SBSDIO_FORCE_HT), &err);
+ }
+ if (err) {
+@@ -4083,7 +4082,7 @@ static void brcmf_sdio_firmware_callback
+ brcmf_sdiod_writel(sdiod, core->base + SD_REG(tosbmailboxdata),
+ SDPCM_PROT_VERSION << SMB_DATA_VERSION_SHIFT, NULL);
+
+- err = sdio_enable_func(sdiodev->func2);
++ err = sdio_enable_func(sdiod->func2);
+
+ brcmf_dbg(INFO, "enable F2: err=%d\n", err);
+
+@@ -4095,10 +4094,10 @@ static void brcmf_sdio_firmware_callback
+ bus->hostintmask, NULL);
+
+
+- brcmf_sdiod_writeb(sdiodev, SBSDIO_WATERMARK, 8, &err);
++ brcmf_sdiod_writeb(sdiod, SBSDIO_WATERMARK, 8, &err);
+ } else {
+ /* Disable F2 again */
+- sdio_disable_func(sdiodev->func2);
++ sdio_disable_func(sdiod->func2);
+ goto release;
+ }
+
+@@ -4106,7 +4105,7 @@ static void brcmf_sdio_firmware_callback
+ brcmf_sdio_sr_init(bus);
+ } else {
+ /* Restore previous clock setting */
+- brcmf_sdiod_writeb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR,
++ brcmf_sdiod_writeb(sdiod, SBSDIO_FUNC1_CHIPCLKCSR,
+ saveclk, &err);
+ }
+
+@@ -4114,7 +4113,7 @@ static void brcmf_sdio_firmware_callback
+ /* Allow full data communication using DPC from now on. */
+ brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA);
+
+- err = brcmf_sdiod_intr_register(sdiodev);
++ err = brcmf_sdiod_intr_register(sdiod);
+ if (err != 0)
+ brcmf_err("intr register failed:%d\n", err);
+ }
+@@ -4123,16 +4122,16 @@ static void brcmf_sdio_firmware_callback
+ if (err != 0)
+ brcmf_sdio_clkctl(bus, CLK_NONE, false);
+
+- sdio_release_host(sdiodev->func1);
++ sdio_release_host(sdiod->func1);
+
+ /* Assign bus interface call back */
+- sdiodev->bus_if->dev = sdiodev->dev;
+- sdiodev->bus_if->ops = &brcmf_sdio_bus_ops;
+- sdiodev->bus_if->chip = bus->ci->chip;
+- sdiodev->bus_if->chiprev = bus->ci->chiprev;
++ sdiod->bus_if->dev = sdiod->dev;
++ sdiod->bus_if->ops = &brcmf_sdio_bus_ops;
++ sdiod->bus_if->chip = bus->ci->chip;
++ sdiod->bus_if->chiprev = bus->ci->chiprev;
+
+ /* Attach to the common layer, reserve hdr space */
+- err = brcmf_attach(sdiodev->dev, sdiodev->settings);
++ err = brcmf_attach(sdiod->dev, sdiod->settings);
+ if (err != 0) {
+ brcmf_err("brcmf_attach failed\n");
+ goto fail;
+@@ -4142,10 +4141,10 @@ static void brcmf_sdio_firmware_callback
+ return;
+
+ release:
+- sdio_release_host(sdiodev->func1);
++ sdio_release_host(sdiod->func1);
+ fail:
+ brcmf_dbg(TRACE, "failed: dev=%s, err=%d\n", dev_name(dev), err);
+- device_release_driver(&sdiodev->func2->dev);
++ device_release_driver(&sdiod->func2->dev);
+ device_release_driver(dev);
+ }
+