From: Arend van Spriel <arend.vanspriel@broadcom.com>
To: "Lukas Wunner" <lukas@wunner.de>, "Michael Büsch" <m@bues.ch>
Cc: linux-wlan-client-support-list@broadcom.com, 1332647@gmail.com,
linux-wireless@vger.kernel.org, b43-dev@lists.infradead.org
Subject: BCM4331 reset leads to wl lockup
Date: Sun, 29 May 2016 20:55:01 +0200 [thread overview]
Message-ID: <574B3B05.3020106@broadcom.com> (raw)
In-Reply-To: <20160529110248.GA12632@wunner.de>
On 29-05-16 13:02, Lukas Wunner wrote:
> On Thu, May 26, 2016 at 02:42:46PM +0200, Michael B?sch wrote:
>> On Thu, 26 May 2016 14:12:10 +0200 Lukas Wunner <lukas@wunner.de> wrote:
>>> + mmio = early_ioremap(addr, BCM4331_MMIO_SIZE);
>>> + if (!mmio) {
>>> + pr_err("Cannot iomap Apple AirPort card\n");
>>> + return;
>>> + }
>>> + pr_info("Resetting Apple AirPort card\n");
>>> + iowrite32(BCMA_RESET_CTL_RESET,
>>> + mmio + (1 * BCMA_CORE_SIZE) + BCMA_RESET_CTL);
>>> + early_iounmap(mmio, BCM4331_MMIO_SIZE);
>>
>> Just writing that bit is not the correct reset procedure.
>> So it might cause problems depending on how wl does the core reset
>> later.
>>
>> Please try this:
>> - wait for BCMA_RESET_ST to be 0
>> - set reset bit
>> - flush
>> - wait 1us
>> - reset reset bit
>> - flush
>> - wait 10us
>>
>> See bcma_core_disable()
>
> It turned out that the lockups are triggered by bec3cfdca36b
> ("net: skb_segment() provides list head and tail") in Linux 3.18
> and that Eric Duzamet has kindly provided a fix for broadcom-sta:
> https://bugs.gentoo.org/show_bug.cgi?id=523326#c24
> https://523326.bugs.gentoo.org/attachment.cgi?id=393374
Looked at the patch and it provides little context. So before diving in
the code would you know if the patched broadcom-sta driver works for
kernels before 3.18?
Regards,
Arend
WARNING: multiple messages have this Message-ID (diff)
From: Arend van Spriel <arend.vanspriel@broadcom.com>
To: "Lukas Wunner" <lukas@wunner.de>, "Michael Büsch" <m@bues.ch>
Cc: linux-wlan-client-support-list@broadcom.com, 1332647@gmail.com,
linux-wireless@vger.kernel.org, b43-dev@lists.infradead.org
Subject: Re: BCM4331 reset leads to wl lockup
Date: Sun, 29 May 2016 20:55:01 +0200 [thread overview]
Message-ID: <574B3B05.3020106@broadcom.com> (raw)
In-Reply-To: <20160529110248.GA12632@wunner.de>
On 29-05-16 13:02, Lukas Wunner wrote:
> On Thu, May 26, 2016 at 02:42:46PM +0200, Michael Büsch wrote:
>> On Thu, 26 May 2016 14:12:10 +0200 Lukas Wunner <lukas@wunner.de> wrote:
>>> + mmio = early_ioremap(addr, BCM4331_MMIO_SIZE);
>>> + if (!mmio) {
>>> + pr_err("Cannot iomap Apple AirPort card\n");
>>> + return;
>>> + }
>>> + pr_info("Resetting Apple AirPort card\n");
>>> + iowrite32(BCMA_RESET_CTL_RESET,
>>> + mmio + (1 * BCMA_CORE_SIZE) + BCMA_RESET_CTL);
>>> + early_iounmap(mmio, BCM4331_MMIO_SIZE);
>>
>> Just writing that bit is not the correct reset procedure.
>> So it might cause problems depending on how wl does the core reset
>> later.
>>
>> Please try this:
>> - wait for BCMA_RESET_ST to be 0
>> - set reset bit
>> - flush
>> - wait 1us
>> - reset reset bit
>> - flush
>> - wait 10us
>>
>> See bcma_core_disable()
>
> It turned out that the lockups are triggered by bec3cfdca36b
> ("net: skb_segment() provides list head and tail") in Linux 3.18
> and that Eric Duzamet has kindly provided a fix for broadcom-sta:
> https://bugs.gentoo.org/show_bug.cgi?id=523326#c24
> https://523326.bugs.gentoo.org/attachment.cgi?id=393374
Looked at the patch and it provides little context. So before diving in
the code would you know if the patched broadcom-sta driver works for
kernels before 3.18?
Regards,
Arend
next prev parent reply other threads:[~2016-05-29 18:55 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-26 12:12 BCM4331 reset leads to wl lockup Lukas Wunner
2016-05-26 12:12 ` Lukas Wunner
2016-05-26 12:42 ` Michael Büsch
2016-05-26 12:42 ` Michael Büsch
2016-05-29 11:02 ` Lukas Wunner
2016-05-29 11:02 ` Lukas Wunner
2016-05-29 18:48 ` Arend van Spriel
2016-05-29 18:48 ` Arend van Spriel
2016-05-29 18:55 ` Arend van Spriel [this message]
2016-05-29 18:55 ` Arend van Spriel
2016-05-29 23:52 ` Lukas Wunner
2016-05-29 23:52 ` Lukas Wunner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=574B3B05.3020106@broadcom.com \
--to=arend.vanspriel@broadcom.com \
--cc=1332647@gmail.com \
--cc=b43-dev@lists.infradead.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linux-wlan-client-support-list@broadcom.com \
--cc=lukas@wunner.de \
--cc=m@bues.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.