On 11 Jun 2019, at 1:45 pm, Arend Van Spriel <arend.vanspr...@broadcom.com> 
wrote:
> 
> The splat could be relevant. Maybe try the patch below to get actual values 
> that are checked in the WARN_ON.
> 
>> BCMDHD is also reported working with commits here: 
>> https://gitlab.com/baylibre/amlogic/atv/linux/commits/narmstrong/v5.1/aml/integ-5.1-bcmdhd
>>  but LibreELEC needs to support many different boards (with many different 
>> SDIO modules) from a single OS image, so BCMDHD is not the solution we need.
>> One additional patch I spotted mentioning BCM4359 (also from Wright Feng) 
>> was 
>> https://github.com/RobertCNelson/ti-linux-kernel-dev/blob/65f17112e1c883d3c9f3fa68837e5f9b5eb7cfad/patches/cypress/v4.14.52-2018_0928/cypress-patch/0073-non-upstream-reset-two-D11-cores-if-chip-has-two-D11.patch
>>  but it makes no difference (the dmesg log above is with this patch applied).
>> I don’t write code but am happy to build test kernels with suggested patches 
>> or explicit instructions. I’ve also CC’d LibreELEC colleague and 
>> linux-amlogic maintainer Neil Armstrong who can assist. NB: If direct access 
>> to hardware would help progress things I can easily organise remote access 
>> or get board samples shipped.
>> How can we resume the investigation?
> 
> Let's try one step at a time ;-)
> 
> Regards,
> Arend
> ---
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c 
> b/driver
> index fc12598..e9b0986 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
> @@ -772,7 +772,8 @@ void brcmf_sdiod_sgtable_alloc(struct brcmf_sdio_dev 
> *sdiod
>                      sdiodev->settings->bus.sdio.txglomsz);
>        nents += (nents >> 4) + 1;
> 
> -       WARN_ON(nents > sdiodev->max_segment_count);
> +       WARN(nents > sdiodev->max_segment_count, "max_seg_cnt=%u, 
> host_max_seg=
> +            sdiodev->max_segment_count, host->max_segs, nents);
> 
>        brcmf_dbg(TRACE, "nents=%d\n", nents);
>        err = sg_alloc_table(&sdiodev->sgtable, nents, GFP_KERNEL);
> q

^ this patch is mangled - please send me the correct one so I can reply with 
information to move things forwards. Thanks.

Christian

Reply via email to