From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: Leigh Brown <leigh@solinno.co.uk>
Cc: linux-arm-kernel@lists.infradead.org,
"Russell King - ARM Linux admin" <linux@armlinux.org.uk>,
"Luís Mendes" <luis.p.mendes@gmail.com>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>
Subject: Re: Out-of-tree mwlwifi driver crashes
Date: Thu, 31 Jan 2019 16:46:53 +0100 [thread overview]
Message-ID: <20190131164653.2599d6e7@windsurf> (raw)
In-Reply-To: <8eb5b2981e6e60e91a3eacbb88a5ee7b@solinno.co.uk>
Hello Leigh,
On Tue, 29 Jan 2019 15:36:56 +0000
Leigh Brown <leigh@solinno.co.uk> wrote:
> Apologies, I use webmail. I have attached two files with the results
> from running lspci -vvv -xxx
Thanks, that was very useful. I believe the issue comes from the fact
that your PCIe device has prefetchable BARs, while none of the 5 PCIe
devices I have here has prefetchable BARs. The pci-mvebu driver doesn't
support such BARs, but the change to the common PCI bridge emulation
logic made the prefetchable memory base / limit register read-write
while they were read-only before.
To verify this hypothesis, could you apply the following patch (on top
of 4.20), and see if it solves the problem ? Thanks!
This is probably not the right/correct fix, but it will at least allow
to verify that the problem is understood correctly.
Thomas
diff --git a/drivers/pci/pci-bridge-emul.c b/drivers/pci/pci-bridge-emul.c
index 129738362d90..f99b80c19809 100644
--- a/drivers/pci/pci-bridge-emul.c
+++ b/drivers/pci/pci-bridge-emul.c
@@ -142,11 +142,7 @@ const static struct pci_bridge_reg_behavior pci_regs_behavior[] = {
},
[PCI_PREF_MEMORY_BASE / 4] = {
- /* The high 12-bits of pref mem base/limit are RW */
- .rw = GENMASK(31, 20) | GENMASK(15, 4),
-
- /* The low four bits of pref mem base/limit are RO */
- .ro = GENMASK(19, 16) | GENMASK(3, 0),
+ .ro = ~0,
},
[PCI_PREF_BASE_UPPER32 / 4] = {
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
WARNING: multiple messages have this Message-ID (diff)
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: Leigh Brown <leigh@solinno.co.uk>
Cc: "linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"Luís Mendes" <luis.p.mendes@gmail.com>,
"Russell King - ARM Linux admin" <linux@armlinux.org.uk>,
linux-arm-kernel@lists.infradead.org
Subject: Re: Out-of-tree mwlwifi driver crashes
Date: Thu, 31 Jan 2019 16:46:53 +0100 [thread overview]
Message-ID: <20190131164653.2599d6e7@windsurf> (raw)
In-Reply-To: <8eb5b2981e6e60e91a3eacbb88a5ee7b@solinno.co.uk>
Hello Leigh,
On Tue, 29 Jan 2019 15:36:56 +0000
Leigh Brown <leigh@solinno.co.uk> wrote:
> Apologies, I use webmail. I have attached two files with the results
> from running lspci -vvv -xxx
Thanks, that was very useful. I believe the issue comes from the fact
that your PCIe device has prefetchable BARs, while none of the 5 PCIe
devices I have here has prefetchable BARs. The pci-mvebu driver doesn't
support such BARs, but the change to the common PCI bridge emulation
logic made the prefetchable memory base / limit register read-write
while they were read-only before.
To verify this hypothesis, could you apply the following patch (on top
of 4.20), and see if it solves the problem ? Thanks!
This is probably not the right/correct fix, but it will at least allow
to verify that the problem is understood correctly.
Thomas
diff --git a/drivers/pci/pci-bridge-emul.c b/drivers/pci/pci-bridge-emul.c
index 129738362d90..f99b80c19809 100644
--- a/drivers/pci/pci-bridge-emul.c
+++ b/drivers/pci/pci-bridge-emul.c
@@ -142,11 +142,7 @@ const static struct pci_bridge_reg_behavior pci_regs_behavior[] = {
},
[PCI_PREF_MEMORY_BASE / 4] = {
- /* The high 12-bits of pref mem base/limit are RW */
- .rw = GENMASK(31, 20) | GENMASK(15, 4),
-
- /* The low four bits of pref mem base/limit are RO */
- .ro = GENMASK(19, 16) | GENMASK(3, 0),
+ .ro = ~0,
},
[PCI_PREF_BASE_UPPER32 / 4] = {
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-01-31 15:46 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-29 13:47 Out-of-tree mwlwifi driver crashes Leigh Brown
2019-01-29 13:53 ` Russell King - ARM Linux admin
2019-01-29 14:11 ` Leigh Brown
2019-01-29 14:59 ` Thomas Petazzoni
2019-01-29 15:25 ` Leigh Brown
2019-01-29 15:31 ` Thomas Petazzoni
2019-01-29 15:36 ` Leigh Brown
2019-01-31 15:46 ` Thomas Petazzoni [this message]
2019-01-31 15:46 ` Thomas Petazzoni
2019-01-31 16:06 ` Leigh Brown
2019-01-31 16:06 ` Leigh Brown
2019-01-31 16:10 ` Thomas Petazzoni
2019-01-31 16:10 ` Thomas Petazzoni
2019-02-12 13:41 ` Thomas Petazzoni
2019-02-12 13:41 ` Thomas Petazzoni
2019-02-12 16:10 ` Leigh Brown
2019-02-12 16:10 ` Leigh Brown
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=20190131164653.2599d6e7@windsurf \
--to=thomas.petazzoni@bootlin.com \
--cc=leigh@solinno.co.uk \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=luis.p.mendes@gmail.com \
/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.