Re: [PATCH] PCI: designware: reject MSI-X irqs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 27, 2015 at 3:22 AM, Lucas Stach <l.stach@xxxxxxxxxxxxxx> wrote:
> Hi Bjorn,
>
> Am Montag, den 26.01.2015, 12:12 -0600 schrieb Bjorn Helgaas:
>> On Mon, Jan 26, 2015 at 11:54:44AM +0100, Lucas Stach wrote:
>> > The DW PCIe MSI hardware does not support MSI-X irqs. Setting those up
>> > failed as a side effect of a bug which was fixed by 91f8ae823f2b
>> > (PCI: designware: Setup and clear exactly one MSI at a time).
>> >
>> > Now that this bug is fixed MSI-X irqs need to be rejected explicitly,
>> > otherwise devices trying to use them may end up with incorrectly working
>> > interrupts.
>> >
>> > Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
>>
>> Applied with Jingoo's ack to pci/host-designware for v3.20, thanks!
>>
> I would be happier if this could still find its way into v3.19 if you
> are going to send another fixes pull, as this is clearly a regression
> even if it was already introduced with v3.18.

Added to for-linus for v3.19 and dropped from pci/host-designware.

In general, I apply changes for the next release unless it's clear
that they need to be in the current release.  In this case, I couldn't
tell from the changelog whether this was a theoretical issue or a
"device X worked on v3.17 but stopped working on v3.18 and this patch
fixes it" issue.

>> > Cc: <stable@xxxxxxxxxxxxxxx> # 3.18
>> > ---
>> >  drivers/pci/host/pcie-designware.c | 3 +++
>> >  1 file changed, 3 insertions(+)
>> >
>> > diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c
>> > index df781cdf13c1..17ca98657a28 100644
>> > --- a/drivers/pci/host/pcie-designware.c
>> > +++ b/drivers/pci/host/pcie-designware.c
>> > @@ -283,6 +283,9 @@ static int dw_msi_setup_irq(struct msi_controller *chip, struct pci_dev *pdev,
>> >     struct msi_msg msg;
>> >     struct pcie_port *pp = sys_to_pcie(pdev->bus->sysdata);
>> >
>> > +   if (desc->msi_attrib.is_msix)
>> > +           return -EINVAL;
>> > +
>> >     irq = assign_irq(1, desc, &pos);
>> >     if (irq < 0)
>> >             return irq;
>> > --
>> > 2.1.4
>> >
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux