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] [day] [month] [year] [list]
Message-ID: <20200720084058.GG2549@kadam>
Date:   Mon, 20 Jul 2020 11:40:58 +0300
From:   Dan Carpenter <dan.carpenter@...cle.com>
To:     Suraj Upadhyay <usuraj35@...il.com>
Cc:     mchehab@...nel.org, sakari.ailus@...ux.intel.com,
        gregkh@...uxfoundation.org, devel@...verdev.osuosl.org,
        linux-kernel@...r.kernel.org, linux-media@...r.kernel.org
Subject: Re: [PATCH v2] staging: media: atomisp: Replace depracated MSI APIs

On Sun, Jul 19, 2020 at 07:56:23PM +0530, Suraj Upadhyay wrote:
> Replace depracated MSI IRQ enabler and disabler
> with pci_alloc_irq_vectors and pci_free_irq_vectors respectively.
> And as a result handle the returned error as appropriate.
> Compile tested.
> 
> Signed-off-by: Suraj Upadhyay <usuraj35@...il.com>
> ---
> Change:
> 	v2: Replace the MSI IRQ disabler too.
> ---
>  drivers/staging/media/atomisp/pci/atomisp_v4l2.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
> index d36809a0182c..a5dea5521b36 100644
> --- a/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
> +++ b/drivers/staging/media/atomisp/pci/atomisp_v4l2.c
> @@ -1735,8 +1735,8 @@ static int atomisp_pci_probe(struct pci_dev *dev,
>  	pci_set_master(dev);
>  	pci_set_drvdata(dev, isp);
>  
> -	err = pci_enable_msi(dev);
> -	if (err) {
> +	err = pci_alloc_irq_vectors(dev, 1, 1, PCI_IRQ_MSI);
> +	if (err < 0) {
>  		dev_err(&dev->dev, "Failed to enable msi (%d)\n", err);
>  		goto enable_msi_fail;
>  	}
> @@ -1857,7 +1857,7 @@ static int atomisp_pci_probe(struct pci_dev *dev,
>  initialize_modules_fail:
>  	cpu_latency_qos_remove_request(&isp->pm_qos);
>  	atomisp_msi_irq_uninit(isp, dev);
> -	pci_disable_msi(dev);
> +	pci_free_irq_vectors(dev);

Actually, my initial complaint was that I was just looking for to see if
the remove function was updated...  It turns out the remove function
never freed the IRQs to begin with so it was buggy from square one.

Anyway, the remove function should call pci_free_irq_vectors().  We may
as well fix it now that we have seen the bug.

regards,
dan carpenter

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ