On Sun, May 14, 2017 at 1:45 PM, Hans de Goede <hdego...@redhat.com> 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

Reply via email to