Search Linux Wireless

Re: New brcmfmac errors in 4.12: brcmf_sdio_rxglom: sublen ... not multiple of 8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 19.05.2017 um 20:03 schrieb Arend Van Spriel:
> On 14-5-2017 13:45, Hans de Goede 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.
> 
> Heiner,
> 
> Could I get your ack or even better your test verdict as well?
> 
Unfortunately I don't have hardware to test this (as sdio isn't available
on Odroid C2). However the patch looks logical and good to me.

I add Helmut as he gave his Tested-by for commit 5ef1ecf060f28e
"mmc: sdio: fix alignment issue in struct sdio_func".
Maybe he can test your patch as well.

Rgds, Heiner

> Regards,
> Arend
> 




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux