On Sun, May 14, 2017 at 1:45 PM, Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > Hi, > > > On 14-05-17 10:21, Arend Van Spriel wrote: >> >> On 13-5-2017 16:55, Hans de Goede wrote: >>> >>> Hi, >>> >>> On 13-05-17 15:39, Heiner Kallweit wrote: >>>> >>>> Am 13.05.2017 um 14:35 schrieb Hans de Goede: >>>>> >>>>> <resend with the author of the commit causing this added> >>>>> >>>>> Hi, >>>>> >>>>> On 13-05-17 14:19, Hans de Goede wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> I've just rebased my personal kernel tree to what will soon be >>>>>> 4.12-rc1 >>>>>> and I'm getting my dmesg log filled with the following errors: >>>>>> >>>>>> [ 32.528271] brcmfmac: brcmf_sdio_rxglom: sublen 524 not multiple >>>>>> of 8 >>>>>> [ 32.528296] brcmfmac: brcmf_sdio_rxglom: sublen 84 not multiple of >>>>>> 8 >>>>>> [ 33.063241] brcmfmac: brcmf_sdio_rxglom: sublen 1492 not multiple >>>>>> of 8 >>>>>> >>>> After a brief look at the code I'm not sure that the check actually >>>> checks >>>> for an error condition. Apart from the error messages: >>>> Do you face issues with the functionality of the driver? >>> >>> >>> Yes after a while I get -ETIMEOUT errors for any sdio transfers >>> to the device. But I'm not sure if this is caused by this commit, >>> I think I've seen this once with 4.11 too. >>> >>> I've reverted the commit for now, but I'm fine with instead of >>> doing the revert dropping the error check if the brcmfmac developers >>> think that is ok. Currently the ETIMEOUT seems to be gone, so >>> if dropping the revert causes it to re-appear then we know more. >> >> >> Instead of reverting please give this patch a try and let me know if it >> works for you. >> >> Regards, >> Arend >> --- >> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c >> b/drivers/n >> index fc64b89..e034500 100644 >> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c >> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c >> @@ -3422,7 +3422,7 @@ static int brcmf_sdio_bus_preinit(struct device >> *dev) >> /* 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)); >> } >> > > I can confirm that the above fix fixes the messages. Thanks, Hans I will send out a patch with your Tested-by: Regards, Arend