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]

 



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?

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