OSDN Git Service

brcmfmac: Fix incorrect type in assignment
authorRemi Depommier <rde@setrix.com>
Mon, 16 Nov 2020 00:16:39 +0000 (19:16 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 24 Nov 2020 15:03:25 +0000 (17:03 +0200)
The left-hand side of the assignment from cpu_to_le32() should be of
type __le32. This commit clears the warning reported by sparse when
building with C=1 CF="-D__CHECK_ENDIAN__".

Fixes: d56fd83cf99c ("brcmfmac: fix SDIO access for big-endian host")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Remi Depommier <rde@setrix.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201116001639.31958-1-rde@setrix.com
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c

index f58a96f..805e8d1 100644 (file)
@@ -3517,6 +3517,7 @@ static int brcmf_sdio_bus_preinit(struct device *dev)
        struct brcmf_sdio *bus = sdiodev->bus;
        struct brcmf_core *core = bus->sdio_core;
        u32 value;
+       __le32 iovar;
        int err;
 
        /* maxctl provided by common layer */
@@ -3537,16 +3538,16 @@ static int brcmf_sdio_bus_preinit(struct device *dev)
         */
        if (core->rev < 12) {
                /* for sdio core rev < 12, disable txgloming */
-               value = 0;
-               err = brcmf_iovar_data_set(dev, "bus:txglom", &value,
-                                          sizeof(u32));
+               iovar = 0;
+               err = brcmf_iovar_data_set(dev, "bus:txglom", &iovar,
+                                          sizeof(iovar));
        } else {
                /* otherwise, set txglomalign */
                value = sdiodev->settings->bus.sdio.sd_sgentry_align;
                /* SDIO ADMA requires at least 32 bit alignment */
-               value = cpu_to_le32(max_t(u32, value, ALIGNMENT));
-               err = brcmf_iovar_data_set(dev, "bus:txglomalign", &value,
-                                          sizeof(u32));
+               iovar = cpu_to_le32(max_t(u32, value, ALIGNMENT));
+               err = brcmf_iovar_data_set(dev, "bus:txglomalign", &iovar,
+                                          sizeof(iovar));
        }
 
        if (err < 0)
@@ -3555,9 +3556,9 @@ static int brcmf_sdio_bus_preinit(struct device *dev)
        bus->tx_hdrlen = SDPCM_HWHDR_LEN + SDPCM_SWHDR_LEN;
        if (sdiodev->sg_support) {
                bus->txglom = false;
-               value = cpu_to_le32(1);
+               iovar = cpu_to_le32(1);
                err = brcmf_iovar_data_set(bus->sdiodev->dev, "bus:rxglom",
-                                          &value, sizeof(u32));
+                                          &iovar, sizeof(iovar));
                if (err < 0) {
                        /* bus:rxglom is allowed to fail */
                        err = 0;