2012-06-07 17:02:13

by Alex Williamson

[permalink] [raw]
Subject: [PATCH v2] PCI: Add Ralink RT2800 broken INTx masking quirk

Passes pci_intx_mask_supported test but continues to send interrupts
as discovered through VFIO-based device assignment.

http://www.spinics.net/lists/kvm/msg73738.html

Signed-off-by: Alex Williamson <[email protected]>
Tested-by: Andreas Hartmann <[email protected]>
---

v2: context-only respin for Jan's v2 patch

Depends on Jan's patch:
http://www.spinics.net/lists/linux-pci/msg15720.html

drivers/pci/quirks.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 87b9edd..3681678 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -2940,6 +2940,8 @@ static void __devinit quirk_broken_intx_masking(struct pci_dev *dev)
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CHELSIO, 0x0030,
quirk_broken_intx_masking);
+DECLARE_PCI_FIXUP_FINAL(0x1814, 0x0601, /* Ralink RT2800 802.11n PCI */
+ quirk_broken_intx_masking);

static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f,
struct pci_fixup *end)


2012-06-18 18:30:25

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH v2] PCI: Add Ralink RT2800 broken INTx masking quirk

On Thu, Jun 7, 2012 at 11:01 AM, Alex Williamson
<[email protected]> wrote:
> Passes pci_intx_mask_supported test but continues to send interrupts
> as discovered through VFIO-based device assignment.
>
> http://www.spinics.net/lists/kvm/msg73738.html
>
> Signed-off-by: Alex Williamson <[email protected]>
> Tested-by: Andreas Hartmann <[email protected]>
> ---
>
> v2: context-only respin for Jan's v2 patch
>
> Depends on Jan's patch:
> http://www.spinics.net/lists/linux-pci/msg15720.html
>
> ?drivers/pci/quirks.c | ? ?2 ++
> ?1 file changed, 2 insertions(+)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index 87b9edd..3681678 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -2940,6 +2940,8 @@ static void __devinit quirk_broken_intx_masking(struct pci_dev *dev)
> ?}
> ?DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CHELSIO, 0x0030,
> ? ? ? ? ? ? ? ? ? ? ? ?quirk_broken_intx_masking);
> +DECLARE_PCI_FIXUP_FINAL(0x1814, 0x0601, /* Ralink RT2800 802.11n PCI */
> + ? ? ? ? ? ? ? ? ? ? ? quirk_broken_intx_masking);
>
> ?static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f,
> ? ? ? ? ? ? ? ? ? ? ? ? ?struct pci_fixup *end)
>

Applied to my "next" branch (as HEADER quirk, not FINAL). Thanks!

Bjorn