]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
idpf: Fix error handling in idpf_vport_open()
authorSreedevi Joshi <sreedevi.joshi@intel.com>
Tue, 2 Dec 2025 23:12:46 +0000 (17:12 -0600)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 6 Jan 2026 23:42:10 +0000 (15:42 -0800)
Fix error handling to properly cleanup interrupts when
idpf_vport_queue_ids_init() or idpf_rx_bufs_init_all() fail. Jump to
'intr_deinit' instead of 'queues_rel' to ensure interrupts are cleaned up
before releasing other resources.

Fixes: d4d558718266 ("idpf: initialize interrupts and enable vport")
Signed-off-by: Sreedevi Joshi <sreedevi.joshi@intel.com>
Reviewed-by: Madhu Chittim <madhu.chittim@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Samuel Salin <Samuel.salin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/idpf/idpf_lib.c

index 003bab3ce5ae6c5d7141bbc10b9f203003fff83b..131a8121839bd0ff2c7dd5141735823ab2437723 100644 (file)
@@ -1524,14 +1524,14 @@ static int idpf_vport_open(struct idpf_vport *vport, bool rtnl)
        if (err) {
                dev_err(&adapter->pdev->dev, "Failed to initialize queue registers for vport %u: %d\n",
                        vport->vport_id, err);
-               goto queues_rel;
+               goto intr_deinit;
        }
 
        err = idpf_rx_bufs_init_all(vport);
        if (err) {
                dev_err(&adapter->pdev->dev, "Failed to initialize RX buffers for vport %u: %d\n",
                        vport->vport_id, err);
-               goto queues_rel;
+               goto intr_deinit;
        }
 
        idpf_rx_init_buf_tail(vport);