Re: [PATCH v3] PCI: hosts: mark pcie/pci (msi) irq cascade handler as IRQF_NO_THREAD

From: Sebastian Andrzej Siewior
Date: Wed Jan 13 2016 - 08:39:18 EST


* Bjorn Helgaas | 2016-01-06 16:18:27 [-0600]:

>Hi Bjorn,

>> diff --git a/drivers/pci/host/pci-dra7xx.c b/drivers/pci/host/pci-dra7xx.c
>> index 8c36880..0415192 100644
>> --- a/drivers/pci/host/pci-dra7xx.c
>> +++ b/drivers/pci/host/pci-dra7xx.c
>> @@ -301,8 +301,19 @@ static int __init dra7xx_add_pcie_port(struct dra7xx_pcie *dra7xx,
>> return -EINVAL;
>> }
>>
>> + /*
>> + * Mark dra7xx_pcie_msi IRQ as IRQF_NO_THREAD
>> + * On -RT and if kernel is booting with "threadirqs" cmd line parameter
>> + * the dra7xx_pcie_msi_irq_handler() will be forced threaded but,
>> + * in the same time, it's IRQ dispatcher and calls generic_handle_irq(),
>> + * which, in turn, will be resolved to handle_simple_irq() call.
>> + * The handle_simple_irq() expected to be called with IRQ disabled, as
>> + * result kernle will display warning:
>> + * "irq XXX handler YYY+0x0/0x14 enabled interrupts".
>> + */

could you _please_ remove this coment? This kind of comment (if at all)
should be part of the commit message (which is the case more or less).

>> ret = devm_request_irq(&pdev->dev, pp->irq,
>> - dra7xx_pcie_msi_irq_handler, IRQF_SHARED,
>> + dra7xx_pcie_msi_irq_handler,
>> + IRQF_SHARED | IRQF_NO_THREAD,
>> "dra7-pcie-msi", pp);
>> if (ret) {
>> dev_err(&pdev->dev, "failed to request irq\n");
>> diff --git a/drivers/pci/host/pci-exynos.c b/drivers/pci/host/pci-exynos.c

Sebastian