Skip to contentSkip to conversation

accel/amdxdna: Delete pci_free_irq_vectors()

PATCH Applied Salah Triki 3 participants 3 messages Jul 19, 2025 – Jul 22, 2025

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 accel/amdxdna: Delete pci_free_irq_vectors()

The device is managed so pci_free_irq_vectors() is called automatically no need to do it manually.

---
 drivers/accel/amdxdna/aie2_pci.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
drivers/accel/amdxdna/aie2_pci.c +2 -6
index c6cf7068d23c..3474a8d4e560 100644
@@ -520,14 +520,14 @@ static int aie2_init(struct amdxdna_dev *xdna)
 	if (!ndev->psp_hdl) {
 		XDNA_ERR(xdna, "failed to create psp");
 		ret = -ENOMEM;
-		goto free_irq;
+		goto release_fw;
 	}
 	xdna->dev_handle = ndev;
 
 	ret = aie2_hw_start(xdna);
 	if (ret) {
 		XDNA_ERR(xdna, "start npu failed, ret %d", ret);
-		goto free_irq;
+		goto release_fw;
 	}
 
 	ret = aie2_mgmt_fw_query(ndev);
@@ -578,8 +578,6 @@ static int aie2_init(struct amdxdna_dev *xdna)
 	aie2_error_async_events_free(ndev);
 stop_hw:
 	aie2_hw_stop(xdna);
-free_irq:
-	pci_free_irq_vectors(pdev);
 release_fw:
 	release_firmware(fw);
 
@@ -588,12 +586,10 @@ static int aie2_init(struct amdxdna_dev *xdna)
 
 static void aie2_fini(struct amdxdna_dev *xdna)
 {
-	struct pci_dev *pdev = to_pci_dev(xdna->ddev.dev);
 	struct amdxdna_dev_hdl *ndev = xdna->dev_handle;
 
 	aie2_hw_stop(xdna);
 	aie2_error_async_events_free(ndev);
-	pci_free_irq_vectors(pdev);
 }
 
 static int aie2_get_aie_status(struct amdxdna_client *client,
Signature · 1 line
2.43.0
Reviewed-by on v1 1/1
#1 lore raw
Quoted 51 lines · Salah Triki

The device is managed so pci_free_irq_vectors() is called automatically no need to do it manually.

---
 drivers/accel/amdxdna/aie2_pci.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
drivers/accel/amdxdna/aie2_pci.c +2 -6
index c6cf7068d23c..3474a8d4e560 100644
@@ -520,14 +520,14 @@ static int aie2_init(struct amdxdna_dev *xdna)
 	if (!ndev->psp_hdl) {
 		XDNA_ERR(xdna, "failed to create psp");
 		ret = -ENOMEM;
-		goto free_irq;
+		goto release_fw;
 	}
 	xdna->dev_handle = ndev;
 
 	ret = aie2_hw_start(xdna);
 	if (ret) {
 		XDNA_ERR(xdna, "start npu failed, ret %d", ret);
-		goto free_irq;
+		goto release_fw;
 	}
 
 	ret = aie2_mgmt_fw_query(ndev);
@@ -578,8 +578,6 @@ static int aie2_init(struct amdxdna_dev *xdna)
 	aie2_error_async_events_free(ndev);
 stop_hw:
 	aie2_hw_stop(xdna);
-free_irq:
-	pci_free_irq_vectors(pdev);
 release_fw:
 	release_firmware(fw);
 
@@ -588,12 +586,10 @@ static int aie2_init(struct amdxdna_dev *xdna)
 
 static void aie2_fini(struct amdxdna_dev *xdna)
 {
-	struct pci_dev *pdev = to_pci_dev(xdna->ddev.dev);
 	struct amdxdna_dev_hdl *ndev = xdna->dev_handle;
 
 	aie2_hw_stop(xdna);
 	aie2_error_async_events_free(ndev);
-	pci_free_irq_vectors(pdev);
 }
 
 static int aie2_get_aie_status(struct amdxdna_client *client,
maintainer Applied
#2 lore raw

Pushed to drm-misc-next. Thanks.

Lizhi

Quoted 54 lines · Jacek Lawrynowicz
Quoted 51 lines · Salah Triki

The device is managed so pci_free_irq_vectors() is called automatically no need to do it manually.

---
  drivers/accel/amdxdna/aie2_pci.c | 8 ++------
  1 file changed, 2 insertions(+), 6 deletions(-)
drivers/accel/amdxdna/aie2_pci.c +2 -6
index c6cf7068d23c..3474a8d4e560 100644
@@ -520,14 +520,14 @@ static int aie2_init(struct amdxdna_dev *xdna)
  	if (!ndev->psp_hdl) {
  		XDNA_ERR(xdna, "failed to create psp");
  		ret = -ENOMEM;
-		goto free_irq;
+		goto release_fw;
  	}
  	xdna->dev_handle = ndev;
 
  	ret = aie2_hw_start(xdna);
  	if (ret) {
  		XDNA_ERR(xdna, "start npu failed, ret %d", ret);
-		goto free_irq;
+		goto release_fw;
  	}
 
  	ret = aie2_mgmt_fw_query(ndev);
@@ -578,8 +578,6 @@ static int aie2_init(struct amdxdna_dev *xdna)
  	aie2_error_async_events_free(ndev);
  stop_hw:
  	aie2_hw_stop(xdna);
-free_irq:
-	pci_free_irq_vectors(pdev);
  release_fw:
  	release_firmware(fw);
 
@@ -588,12 +586,10 @@ static int aie2_init(struct amdxdna_dev *xdna)
 
  static void aie2_fini(struct amdxdna_dev *xdna)
  {
-	struct pci_dev *pdev = to_pci_dev(xdna->ddev.dev);
  	struct amdxdna_dev_hdl *ndev = xdna->dev_handle;
 
  	aie2_hw_stop(xdna);
  	aie2_error_async_events_free(ndev);
-	pci_free_irq_vectors(pdev);
  }
 
  static int aie2_get_aie_status(struct amdxdna_client *client,