lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 11 Oct 2022 18:07:47 +0530
From:   Kishon Vijay Abraham I <kishon@...com>
To:     Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
        <kishon@...nel.org>, <lpieralisi@...nel.org>, <bhelgaas@...gle.com>
CC:     <linux-pci@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
        <kw@...ux.com>, <robh@...nel.org>, <vidyas@...dia.com>,
        <vigneshr@...com>
Subject: Re: [PATCH v3 1/5] PCI: dra7xx: Use threaded IRQ handler for
 "dra7xx-pcie-main" IRQ



On 06/10/22 7:19 pm, Manivannan Sadhasivam wrote:
> The "dra7xx-pcie-main" hard IRQ handler is just printing the IRQ status
> and calling the dw_pcie_ep_linkup() API if LINK_UP status is set. But the
> execution of dw_pcie_ep_linkup() depends on the EPF driver and may take
> more time depending on the EPF implementation.
> 
> In general, hard IRQ handlers are supposed to return quickly and not block
> for so long. Moreover, there is no real need of the current IRQ handler to
> be a hard IRQ handler. So switch to the threaded IRQ handler for the
> "dra7xx-pcie-main" IRQ.
> 
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>

Acked-by: Kishon Vijay Abraham I <kishon@...com>
> ---
>   drivers/pci/controller/dwc/pci-dra7xx.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/controller/dwc/pci-dra7xx.c b/drivers/pci/controller/dwc/pci-dra7xx.c
> index 38462ed11d07..4ae807e7cf79 100644
> --- a/drivers/pci/controller/dwc/pci-dra7xx.c
> +++ b/drivers/pci/controller/dwc/pci-dra7xx.c
> @@ -840,7 +840,7 @@ static int dra7xx_pcie_probe(struct platform_device *pdev)
>   	}
>   	dra7xx->mode = mode;
>   
> -	ret = devm_request_irq(dev, irq, dra7xx_pcie_irq_handler,
> +	ret = devm_request_threaded_irq(dev, irq, NULL, dra7xx_pcie_irq_handler,
>   			       IRQF_SHARED, "dra7xx-pcie-main", dra7xx);
>   	if (ret) {
>   		dev_err(dev, "failed to request irq\n");
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ