Re: [REGRESSION] wifi: brcmfmac: add firmware vendor info in driver info

From: Nimrod MacIomhair
Date: Sat May 13 2023 - 13:36:00 EST



On Wed, 2023-05-10 at 14:53 +0200, Felix wrote:
> On Wed, 2023-05-10 at 15:09 +0300, Kalle Valo wrote:
> > Hans de Goede <hdegoede@xxxxxxxxxx> writes:
> >
> > > On 5/10/23 10:25, Felix wrote:
> > > > Changes made by the mentioned commit lead to Oops when waking up after
> > > > suspend to RAM.
> > > >
> > > > When waking up a Dell XPS 13 9350 with BCM4350 wifi card after suspend
> > > > to RAM, the kernel hangs with a NULL pointer dereference and Oops. The
> > > > issues was introduced by commit
> > > > da6d9c8ecd00e20218461007948f2b0a8e7fa242 and only happens when the
> > > > brcmfmac module is loaded. This issue is the reason we could not
> > > > upgrade to newer kernels than the 6.1 series on the affected machine.
> > > >
> > > >
> > > > Details:
> > > >
> > > > On a Dell XPS 13 9350 laptop with Broadcom BCM4350 wifi card (according
> > > > to lspci), every kernel starting with 6.2 hangs when waking up after
> > > > suspend to RAM. The issue persisted as of May 2nd (last tested commit
> > > > was 348551ddaf311c76b01cdcbaf61b6fef06a49144). Passing the debug and
> > > > no_console_suspend parameters to the kernel show that a NULL pointer
> > > > dereference and an Oops happen at wakeup. Please find the kernel
> > > > messages readable on the screen at this point attached
> > > > (kernel_log_after_suspend.txt).
> > > >
> > > > A bisection was successful and produced the first bad commit
> > > > [da6d9c8ecd00e20218461007948f2b0a8e7fa242] wifi: brcmfmac: add firmware
> > > > vendor info in driver info
> > > > I've attached the bisection log as well (bisect.txt).
> > > >
> > > > Suspend to RAM works on this machine on newer kernels once the brcmfmac
> > > > module is unloaded.
> > > >
> > > > Distribution: Arch Linux
> > > > Architecture: x86_64
> > > > Device: Dell XPS 13 9350 with BCM4350 wifi card
> > > > Kernel config used at compilation (created using the Arch Linux default
> > > > config and make olddefconfig):
> > > > https://gist.githubusercontent.com/maclomhair/e33fa7eece8f8c77e5a88c4eede2f523/raw/429dfb022498c026225865dbb3ab2f75d5030a54/config
> > > > Dmesg output after boot:
> > > > https://gist.githubusercontent.com/maclomhair/47c75fa759d93800e7fb5e937fabef3e/raw/10750996a1ea9dcb3fa14d9b94e11fedd3abf280/dmesg
> > > >
> > > > #regzbot introduced da6d9c8ecd00e20218461007948f2b0a8e7fa242
> > >
> > > Thank you for reporting this and thank you for bisecting it too!
> > >
> > > As a result of your excellent bug report I've been able to write
> > > a fix for this. I'm confident enough in the fix that I've submitted
> > > it upstream right away.
> > >
> > > But it would still be good if you can test the fix and let us know
> > > if it fixes this issue for you. You should have received a copy
> > > of the patch when I submitted it upstream.
>
> I have now tested the patch you sent and it indeed fixes the issue for
> me! Thank you for your quick response!

I have now also tested the second version of the patch, and it also
fixes the issue for me!

>
>
> >
> > For the archives here's the patch:
> >
> > https://patchwork.kernel.org/project/linux-wireless/patch/20230510100050.27099-1-hdegoede@xxxxxxxxxx/
> >
>