From: "Michael Büsch" <m@bues.ch>
To: Lukas Wunner <lukas@wunner.de>
Cc: Chris Bainbridge <chris.bainbridge@gmail.com>,
linux-pci@vger.kernel.org, linux-wireless@vger.kernel.org,
b43-dev@lists.infradead.org
Subject: [PATCH] PCI: Add Broadcom 4331 reset quirk to prevent IRQ storm
Date: Sat, 2 Apr 2016 09:30:29 +0200 [thread overview]
Message-ID: <20160402093029.3dc29699@wiggum> (raw)
In-Reply-To: <20160401224646.GA11281@wunner.de>
On Sat, 2 Apr 2016 00:46:46 +0200
Lukas Wunner <lukas@wunner.de> wrote:
> Hi Chris,
>
> On Fri, Apr 01, 2016 at 12:13:46AM +0100, Chris Bainbridge wrote:
> > On Tue, Mar 29, 2016 at 07:41:30PM +0200, Lukas Wunner wrote:
> > > Broadcom 4331 wireless cards built into Apple Macs unleash an IRQ storm
> > > on boot until they are reset, causing spurious interrupts if the IRQ is
> > > shared. Apparently the EFI bootloader enables the device and does not
> > > disable it before passing control to the OS. The bootloader contains a
> > > driver for the wireless card which allows it to phone home to Cupertino.
> > > This is used for Internet Recovery (download and install OS X images)
> > > and probably also for Back to My Mac (remote access, RFC 6281) and to
> > > discover stolen hardware.
> > >
> > > The issue is most pronounced on 2011 and 2012 MacBook Pros where the IRQ
> > > is shared with 3 other devices (Light Ridge Thunderbolt controller, SDXC
> > > reader, HDA card on discrete GPU). As soon as an interrupt handler is
> > > installed for one of these devices, the ensuing storm of spurious IRQs
> > > causes the kernel to disable the IRQ and switch to polling. This lasts
> > > until the b43 driver loads and resets the device.
> > >
> > > Loading the b43 driver first is not always an option, in particular with
> > > the Light Ridge Thunderbolt controller: The PCI hotplug IRQ handler gets
> > > installed early on because it is built in, unlike b43 which is usually
> > > a module.
> > >
> > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=79301
> > > Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=895951
> > > Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1009819
> > > Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1149632
> >
> > Should also fix https://bugzilla.kernel.org/show_bug.cgi?id=111781 ?
> > Given that this is a serious bug that can corrupt filesystems it would
> > be good to see the fix in stable too.
>
> I cannot reproduce this particular issue on my MBP9,1 even though it
> is architecturally very similar to your MBP10,2. I tested it with
> "iommu=force intel_iommu=on", blacklisted b43 and stressed the machine
> a bit with kernel compiles. No issues.
I think you will have to stress the wireless, not the kernel.
Enable iommu and let the wireless receive packets that go through the
hw filters. If you have a calm network and nobody sends data to you,
the card won't write anything to DMA. (This all depends on how the
firmware configured the filters).
--
Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/b43-dev/attachments/20160402/751f8a10/attachment.sig>
next prev parent reply other threads:[~2016-04-02 7:30 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E1akxli-00030z-BC@bombadil.infradead.org>
2016-03-31 23:13 ` [PATCH] PCI: Add Broadcom 4331 reset quirk to prevent IRQ storm Chris Bainbridge
2016-04-01 4:59 ` Michael Büsch
2016-04-01 22:46 ` Lukas Wunner
2016-04-02 7:30 ` Michael Büsch [this message]
2016-04-02 11:40 ` Andrew Worsley
2016-04-03 11:49 ` Lukas Wunner
2016-04-07 12:04 ` Andrew Worsley
2016-04-10 10:09 ` Andrew Worsley
2016-04-12 18:32 ` Lukas Wunner
2016-04-13 20:42 ` Andrew Worsley
2016-04-24 17:04 ` Lukas Wunner
2016-05-23 14:42 ` Lukas Wunner
2016-05-24 23:38 ` Chris Bainbridge
[not found] <811539524df8b5ed7e2817c1c3e3e08560c97964.1459275517.git.lukas@wunner.de>
2016-03-31 18:51 ` Rafał Miłecki
2016-04-05 19:40 ` Bjorn Helgaas
2016-04-05 19:49 ` Michael Büsch
2016-04-06 13:31 ` Bjorn Helgaas
2016-04-06 15:17 ` Michael Büsch
2016-04-06 21:36 ` Lukas Wunner
2016-04-05 19:59 ` Matthew Garrett
2016-04-06 11:28 ` Andrew Worsley
2016-04-06 21:30 ` Lukas Wunner
2016-04-06 22:19 ` Matthew Garrett
2016-04-09 12:00 ` Matt Fleming
2016-04-24 16:58 ` Lukas Wunner
[not found] <E1akxli-00030z-Jz@bombadil.infradead.org>
2016-03-29 17:46 ` Lukas Wunner
2016-03-31 19:09 ` Michael Büsch
2016-03-29 17:41 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=20160402093029.3dc29699@wiggum \
--to=m@bues.ch \
--cc=b43-dev@lists.infradead.org \
--cc=chris.bainbridge@gmail.com \
--cc=linux-pci@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=lukas@wunner.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).