Commit 0be1a06c authored by Jarkko Nikula's avatar Jarkko Nikula Committed by Alexandre Belloni
Browse files

i3c: mipi-i3c-hci: Do not overallocate transfers in hci_cmd_v1_daa()



Function hci_cmd_v1_daa() uses only single transfer at a time so no need
to allocate two transfers and access can be simplified.

Signed-off-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
Link: https://lore.kernel.org/r/20231109133708.653950-3-jarkko.nikula@linux.intel.com


Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 9e0e9e85
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -298,7 +298,7 @@ static int hci_cmd_v1_daa(struct i3c_hci *hci)
	unsigned int dcr, bcr;
	DECLARE_COMPLETION_ONSTACK(done);

	xfer = hci_alloc_xfer(2);
	xfer = hci_alloc_xfer(1);
	if (!xfer)
		return -ENOMEM;

@@ -339,12 +339,12 @@ static int hci_cmd_v1_daa(struct i3c_hci *hci)
			ret = -ETIME;
			break;
		}
		if (RESP_STATUS(xfer[0].response) == RESP_ERR_NACK &&
		if (RESP_STATUS(xfer->response) == RESP_ERR_NACK &&
		    RESP_DATA_LENGTH(xfer->response) == 1) {
			ret = 0;  /* no more devices to be assigned */
			break;
		}
		if (RESP_STATUS(xfer[0].response) != RESP_SUCCESS) {
		if (RESP_STATUS(xfer->response) != RESP_SUCCESS) {
			ret = -EIO;
			break;
		}