Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

idpf: Fix error handling in idpf_vport_open()

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>

authored by

Sreedevi Joshi and committed by
Tony Nguyen
87b8ee64 ebecca5b

+2 -2
+2 -2
drivers/net/ethernet/intel/idpf/idpf_lib.c
··· 1524 1524 if (err) { 1525 1525 dev_err(&adapter->pdev->dev, "Failed to initialize queue registers for vport %u: %d\n", 1526 1526 vport->vport_id, err); 1527 - goto queues_rel; 1527 + goto intr_deinit; 1528 1528 } 1529 1529 1530 1530 err = idpf_rx_bufs_init_all(vport); 1531 1531 if (err) { 1532 1532 dev_err(&adapter->pdev->dev, "Failed to initialize RX buffers for vport %u: %d\n", 1533 1533 vport->vport_id, err); 1534 - goto queues_rel; 1534 + goto intr_deinit; 1535 1535 } 1536 1536 1537 1537 idpf_rx_init_buf_tail(vport);