Search Linux Wireless

Re: [RESEND] brcmfmac support for BCM4359 sdio on arm64 ??

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

 



On 11 Jun 2019, at 1:45 pm, Arend Van Spriel <arend.vanspriel@xxxxxxxxxxxx> 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



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

  Powered by Linux