Replace depracated psi_enable_msi with pci_alloc_irq_vectors.
And as a result modify how the returned value is handled.
Signed-off-by: Suraj Upadhyay <[email protected]>
---
drivers/staging/media/ipu3/ipu3.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/media/ipu3/ipu3.c b/drivers/staging/media/ipu3/ipu3.c
index ee1bba6bdcac..54690e7442be 100644
--- a/drivers/staging/media/ipu3/ipu3.c
+++ b/drivers/staging/media/ipu3/ipu3.c
@@ -602,9 +602,9 @@ static irqreturn_t imgu_isr(int irq, void *imgu_ptr)
static int imgu_pci_config_setup(struct pci_dev *dev)
{
u16 pci_command;
- int r = pci_enable_msi(dev);
+ int r = pci_alloc_irq_vectors(dev, 1, 1, PCI_IRQ_MSI);
- if (r) {
+ if (r < 0) {
dev_err(&dev->dev, "failed to enable MSI (%d)\n", r);
return r;
}
--
2.17.1
Upadhyay,
Thanks for your patch. Please correct the typo in message.
On 7/18/20 9:32 PM, Suraj Upadhyay wrote:
> Replace depracated psi_enable_msi with pci_alloc_irq_vectors.
> And as a result modify how the returned value is handled.
>
> Signed-off-by: Suraj Upadhyay <[email protected]>
> ---
> drivers/staging/media/ipu3/ipu3.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/media/ipu3/ipu3.c b/drivers/staging/media/ipu3/ipu3.c
> index ee1bba6bdcac..54690e7442be 100644
> --- a/drivers/staging/media/ipu3/ipu3.c
> +++ b/drivers/staging/media/ipu3/ipu3.c
> @@ -602,9 +602,9 @@ static irqreturn_t imgu_isr(int irq, void *imgu_ptr)
> static int imgu_pci_config_setup(struct pci_dev *dev)
> {
> u16 pci_command;
> - int r = pci_enable_msi(dev);
> + int r = pci_alloc_irq_vectors(dev, 1, 1, PCI_IRQ_MSI);
>
> - if (r) {
> + if (r < 0) {
> dev_err(&dev->dev, "failed to enable MSI (%d)\n", r);
> return r;
> }
>
--
Best regards,
Bingbu Cao
Hi Suraj,
Thanks for the patch.
On Sat, Jul 18, 2020 at 07:02:38PM +0530, Suraj Upadhyay wrote:
> Replace depracated psi_enable_msi with pci_alloc_irq_vectors.
> And as a result modify how the returned value is handled.
>
> Signed-off-by: Suraj Upadhyay <[email protected]>
> ---
> drivers/staging/media/ipu3/ipu3.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/media/ipu3/ipu3.c b/drivers/staging/media/ipu3/ipu3.c
> index ee1bba6bdcac..54690e7442be 100644
> --- a/drivers/staging/media/ipu3/ipu3.c
> +++ b/drivers/staging/media/ipu3/ipu3.c
> @@ -602,9 +602,9 @@ static irqreturn_t imgu_isr(int irq, void *imgu_ptr)
> static int imgu_pci_config_setup(struct pci_dev *dev)
> {
> u16 pci_command;
> - int r = pci_enable_msi(dev);
> + int r = pci_alloc_irq_vectors(dev, 1, 1, PCI_IRQ_MSI);
>
> - if (r) {
> + if (r < 0) {
> dev_err(&dev->dev, "failed to enable MSI (%d)\n", r);
> return r;
> }
I believe fixing this requires also releasing it, i.e. a call to
pci_free_irq_vectors(). This seems to have been missing.
--
Kind regards,
Sakari Ailus