diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2019-07-22 10:45:38 +0200 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2019-07-22 14:15:17 +0200 |
commit | a63907b3bbb07724d6526b20ae18ad90f351e954 (patch) | |
tree | 8fc98251910be8d12cfbbd387c35ce307cff7acc /package/kernel/mac80211/patches/319-v4.12-0053-brcmfmac-fix-alignment-configuration-on-host-using-6.patch | |
parent | 1592815b2c852da83a8dcc62ffae967b6d7ea9d9 (diff) | |
download | upstream-a63907b3bbb07724d6526b20ae18ad90f351e954.tar.gz upstream-a63907b3bbb07724d6526b20ae18ad90f351e954.tar.bz2 upstream-a63907b3bbb07724d6526b20ae18ad90f351e954.zip |
mac80211: brcmfmac: rename v4.12 patches to allow more backports
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'package/kernel/mac80211/patches/319-v4.12-0053-brcmfmac-fix-alignment-configuration-on-host-using-6.patch')
-rw-r--r-- | package/kernel/mac80211/patches/319-v4.12-0053-brcmfmac-fix-alignment-configuration-on-host-using-6.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/319-v4.12-0053-brcmfmac-fix-alignment-configuration-on-host-using-6.patch b/package/kernel/mac80211/patches/319-v4.12-0053-brcmfmac-fix-alignment-configuration-on-host-using-6.patch new file mode 100644 index 0000000000..6765c23083 --- /dev/null +++ b/package/kernel/mac80211/patches/319-v4.12-0053-brcmfmac-fix-alignment-configuration-on-host-using-6.patch @@ -0,0 +1,40 @@ +From 1dbf647f31751a4e94fa0435c34f0f5ad5ce0adc Mon Sep 17 00:00:00 2001 +From: Arend Van Spriel <arend.vanspriel@broadcom.com> +Date: Fri, 26 May 2017 13:02:55 +0200 +Subject: [PATCH] brcmfmac: fix alignment configuration on host using 64-bit + DMA + +For SDIO the alignment requirement for transfers from device to host +is configured in firmware. This configuration is limited to minimum +of 4-byte alignment. However, this is not correct for platforms using +64-bit DMA when the minimum alignment should be 8 bytes. This issue +appeared when the ALIGNMENT definition was set according the DMA +configuration. The configuration in firmware was not using that macro +defintion, but a hardcoded value of 4. Hence the driver reported +alignment failures for data coming from the device and causing +transfers to fail. + +Fixes: 6e84ab604bde ("brcmfmac: properly align buffers on certain platforms +Reported-by: Hans de Goede <hdegoede@redhat.com> +Tested-by: Hans de Goede <hdegoede@redhat.com> +Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com> +Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com> +Reviewed-by: Franky Lin <franky.lin@broadcom.com> +Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +Signed-off-by: Kalle Valo <kvalo@codeaurora.org> +--- + drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +@@ -3420,7 +3420,7 @@ static int brcmf_sdio_bus_preinit(struct + /* otherwise, set txglomalign */ + value = sdiodev->settings->bus.sdio.sd_sgentry_align; + /* SDIO ADMA requires at least 32 bit alignment */ +- value = max_t(u32, value, 4); ++ value = max_t(u32, value, ALIGNMENT); + err = brcmf_iovar_data_set(dev, "bus:txglomalign", &value, + sizeof(u32)); + } |