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)); }