linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI: quirks: add vendor ID for AR9462 card
@ 2019-01-07 21:32 James Prestwood
  2019-01-07 22:08 ` Bjorn Helgaas
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: James Prestwood @ 2019-01-07 21:32 UTC (permalink / raw)
  To: linux-pci; +Cc: James Prestwood

This card has similar issues with bus reset as the others present in
this list.

Signed-off-by: James Prestwood <james.prestwood@linux.intel.com>
---
 drivers/pci/quirks.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index ef7143a274e0..d9d4a95b0309 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -3379,6 +3379,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0030, quirk_no_bus_reset);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0032, quirk_no_bus_reset);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003c, quirk_no_bus_reset);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset);
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0034, quirk_no_bus_reset);
 
 /*
  * Root port on some Cavium CN8xxx chips do not successfully complete a bus
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI: quirks: add vendor ID for AR9462 card
  2019-01-07 21:32 [PATCH] PCI: quirks: add vendor ID for AR9462 card James Prestwood
@ 2019-01-07 22:08 ` Bjorn Helgaas
  2019-01-07 23:02   ` James Prestwood
  2019-04-19 13:45 ` Bjorn Helgaas
  2019-04-23 20:38 ` Bjorn Helgaas
  2 siblings, 1 reply; 5+ messages in thread
From: Bjorn Helgaas @ 2019-01-07 22:08 UTC (permalink / raw)
  To: James Prestwood; +Cc: linux-pci, Alex Williamson, Bharat Bhushan, linux-kernel

[+cc Alex, Bharat, LKML]

Hi James,

Thanks for finding this issue and for the patch.

Is there any chance you have a PCIe analyzer and could investigate
what's going on at that level?  The bus reset should be fairly similar
to what happens on a cold boot, and obviously *that* works, so I
wonder if we can figure out what the difference here is.

If this is actually broken somehow in the hardware, can you dig up a
hardware erratum and include a URL here?

If there's any chance we could fix or work around this in the kernel,
I'd rather do that than extend this quirk to more devices.

FWIW, here's a similar report, which hasn't been resolved yet:
https://lore.kernel.org/linux-pci/20181127083454.26560-1-Bharat.Bhushan@nxp.com

On Mon, Jan 07, 2019 at 01:32:48PM -0800, James Prestwood wrote:
> This card has similar issues with bus reset as the others present in
> this list.
> 
> Signed-off-by: James Prestwood <james.prestwood@linux.intel.com>
> ---
>  drivers/pci/quirks.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index ef7143a274e0..d9d4a95b0309 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -3379,6 +3379,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0030, quirk_no_bus_reset);
>  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0032, quirk_no_bus_reset);
>  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003c, quirk_no_bus_reset);
>  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset);
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0034, quirk_no_bus_reset);
>  
>  /*
>   * Root port on some Cavium CN8xxx chips do not successfully complete a bus
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI: quirks: add vendor ID for AR9462 card
  2019-01-07 22:08 ` Bjorn Helgaas
@ 2019-01-07 23:02   ` James Prestwood
  0 siblings, 0 replies; 5+ messages in thread
From: James Prestwood @ 2019-01-07 23:02 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: linux-pci, Alex Williamson, Bharat Bhushan, linux-kernel

On Mon, 2019-01-07 at 16:08 -0600, Bjorn Helgaas wrote:
> [+cc Alex, Bharat, LKML]
> 
> Hi James,
> 
> Thanks for finding this issue and for the patch.
> 
> Is there any chance you have a PCIe analyzer and could investigate
> what's going on at that level?  The bus reset should be fairly
> similar
> to what happens on a cold boot, and obviously *that* works, so I
> wonder if we can figure out what the difference here is.

I don't have a PCIe analyzer (unless thats just a piece of software I
could download). Maybe I should have included a cover letter about what
exactly is happening in my testing:

I am using PCI passthough with various wireless hardware, all of which
worked fine except this Ath9k card. If I tried to pass through this
card my host machine would completely lock up/freeze when starting the
VM, and I would have to hard reboot. I asked on the linux-wireless
mailing list (since it seemed to be specific to the Ath9k card) and it
was suggested to add that line to quirks.c, which did resolve the
issue.

Beyond that, its really all I know. I am not at all knowledgeable about
how PCI actually works :) (or really what this patch is even doing).
Since it was so simple and fixed my issue I figured I should try and
upstream it.

I wish I could be of more help hardware wise. If there is anything
software wise I could run to get more info I can do that.

Thanks,
James
> 
> If this is actually broken somehow in the hardware, can you dig up a
> hardware erratum and include a URL here?
> 
> If there's any chance we could fix or work around this in the kernel,
> I'd rather do that than extend this quirk to more devices.
> 
> FWIW, here's a similar report, which hasn't been resolved yet:
> 
https://lore.kernel.org/linux-pci/20181127083454.26560-1-Bharat.Bhushan@nxp.com
> 
> On Mon, Jan 07, 2019 at 01:32:48PM -0800, James Prestwood wrote:
> > This card has similar issues with bus reset as the others present
> > in
> > this list.
> > 
> > Signed-off-by: James Prestwood <james.prestwood@linux.intel.com>
> > ---
> >  drivers/pci/quirks.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> > index ef7143a274e0..d9d4a95b0309 100644
> > --- a/drivers/pci/quirks.c
> > +++ b/drivers/pci/quirks.c
> > @@ -3379,6 +3379,7 @@
> > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0030,
> > quirk_no_bus_reset);
> >  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0032,
> > quirk_no_bus_reset);
> >  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003c,
> > quirk_no_bus_reset);
> >  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033,
> > quirk_no_bus_reset);
> > +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0034,
> > quirk_no_bus_reset);
> >  
> >  /*
> >   * Root port on some Cavium CN8xxx chips do not successfully
> > complete a bus
> > -- 
> > 2.17.1
> > 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI: quirks: add vendor ID for AR9462 card
  2019-01-07 21:32 [PATCH] PCI: quirks: add vendor ID for AR9462 card James Prestwood
  2019-01-07 22:08 ` Bjorn Helgaas
@ 2019-04-19 13:45 ` Bjorn Helgaas
  2019-04-23 20:38 ` Bjorn Helgaas
  2 siblings, 0 replies; 5+ messages in thread
From: Bjorn Helgaas @ 2019-04-19 13:45 UTC (permalink / raw)
  To: James Prestwood, Alex Williamson; +Cc: linux-pci

On Mon, Jan 07, 2019 at 01:32:48PM -0800, James Prestwood wrote:
> This card has similar issues with bus reset as the others present in
> this list.
> 
> Signed-off-by: James Prestwood <james.prestwood@linux.intel.com>

Alex, I'm inclined to apply this unless you object because it's
basically one more of something we already do.  I wish we didn't have
this quirk at all, but I don't know what else to do.

Maybe there's someplace we could add a printk so dmesg contains a clue
that we can't reset the device?  I assume this quirk means we can't
reset the device when we otherwise would, so maybe that means this
device will leak state from one VM to another?  That sounds like
something we would want to surface somehow if we don't already.

Bjorn

> ---
>  drivers/pci/quirks.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index ef7143a274e0..d9d4a95b0309 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -3379,6 +3379,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0030, quirk_no_bus_reset);
>  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0032, quirk_no_bus_reset);
>  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003c, quirk_no_bus_reset);
>  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset);
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0034, quirk_no_bus_reset);
>  
>  /*
>   * Root port on some Cavium CN8xxx chips do not successfully complete a bus
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] PCI: quirks: add vendor ID for AR9462 card
  2019-01-07 21:32 [PATCH] PCI: quirks: add vendor ID for AR9462 card James Prestwood
  2019-01-07 22:08 ` Bjorn Helgaas
  2019-04-19 13:45 ` Bjorn Helgaas
@ 2019-04-23 20:38 ` Bjorn Helgaas
  2 siblings, 0 replies; 5+ messages in thread
From: Bjorn Helgaas @ 2019-04-23 20:38 UTC (permalink / raw)
  To: James Prestwood; +Cc: linux-pci

On Mon, Jan 07, 2019 at 01:32:48PM -0800, James Prestwood wrote:
> This card has similar issues with bus reset as the others present in
> this list.
> 
> Signed-off-by: James Prestwood <james.prestwood@linux.intel.com>

Applied to pci/virtualization for v5.2, thanks!

I added a stable tag and a Fixes tag to connect it with the other similar
quirks.

> ---
>  drivers/pci/quirks.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index ef7143a274e0..d9d4a95b0309 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -3379,6 +3379,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0030, quirk_no_bus_reset);
>  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0032, quirk_no_bus_reset);
>  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x003c, quirk_no_bus_reset);
>  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0033, quirk_no_bus_reset);
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_ATHEROS, 0x0034, quirk_no_bus_reset);
>  
>  /*
>   * Root port on some Cavium CN8xxx chips do not successfully complete a bus
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-04-23 20:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-07 21:32 [PATCH] PCI: quirks: add vendor ID for AR9462 card James Prestwood
2019-01-07 22:08 ` Bjorn Helgaas
2019-01-07 23:02   ` James Prestwood
2019-04-19 13:45 ` Bjorn Helgaas
2019-04-23 20:38 ` Bjorn Helgaas

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).