Commit 411c565b authored by Nick Child's avatar Nick Child Committed by Jakub Kicinski
Browse files

ibmvnic: Unmap DMA login rsp buffer on send login fail



If the LOGIN CRQ fails to send then we must DMA unmap the response
buffer. Previously, if the CRQ failed then the memory was freed without
DMA unmapping.

Fixes: c98d9cc4 ("ibmvnic: send_login should check for crq errors")
Signed-off-by: default avatarNick Child <nnac123@linux.ibm.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20230809221038.51296-2-nnac123@linux.ibm.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent db17ba71
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -4830,11 +4830,14 @@ static int send_login(struct ibmvnic_adapter *adapter)
	if (rc) {
		adapter->login_pending = false;
		netdev_err(adapter->netdev, "Failed to send login, rc=%d\n", rc);
		goto buf_rsp_map_failed;
		goto buf_send_failed;
	}

	return 0;

buf_send_failed:
	dma_unmap_single(dev, rsp_buffer_token, rsp_buffer_size,
			 DMA_FROM_DEVICE);
buf_rsp_map_failed:
	kfree(login_rsp_buffer);
	adapter->login_rsp_buf = NULL;