liquidio: add cleanup in octeon_setup_iq()

If oct->fn_list.enable_io_queues() fails, no cleanup is executed, leading
to memory/resource leaks. To fix this issue, invoke
octeon_delete_instr_queue() before returning from the function.

Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Wenwen Wang 2019-08-14 00:14:49 -05:00 committed by David S. Miller
parent 0b24a44176
commit 6f967f8b1b
1 changed files with 3 additions and 1 deletions

View File

@ -237,8 +237,10 @@ int octeon_setup_iq(struct octeon_device *oct,
}
oct->num_iqs++;
if (oct->fn_list.enable_io_queues(oct))
if (oct->fn_list.enable_io_queues(oct)) {
octeon_delete_instr_queue(oct, iq_no);
return 1;
}
return 0;
}