On 9/17/22 17:48, Richard Fitzgerald wrote:
_cdns_xfer_msg() returns an sdw_command_response value, not a negative error code.
Signed-off-by: Richard Fitzgerald rf@opensource.cirrus.com
Reviewed-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com
we've got other issues like this such as
enum sdw_command_response cdns_xfer_msg_defer(struct sdw_bus *bus, struct sdw_msg *msg, struct sdw_defer *defer) { struct sdw_cdns *cdns = bus_to_cdns(bus); int cmd = 0, ret;
/* for defer only 1 message is supported */ if (msg->len > 1) return -ENOTSUPP; <<< that's not right
We should probably double-check that all functions return enums don't return negative values.
drivers/soundwire/cadence_master.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c index ca241bbeadd9..3543a923ee6b 100644 --- a/drivers/soundwire/cadence_master.c +++ b/drivers/soundwire/cadence_master.c @@ -708,7 +708,7 @@ cdns_xfer_msg(struct sdw_bus *bus, struct sdw_msg *msg) for (i = 0; i < msg->len / CDNS_MCP_CMD_LEN; i++) { ret = _cdns_xfer_msg(cdns, msg, cmd, i * CDNS_MCP_CMD_LEN, CDNS_MCP_CMD_LEN, false);
if (ret < 0)
}if (ret != SDW_CMD_OK) goto exit;