soundwire: cadence: Remove wasted space in response_buf
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Fri, 2 Dec 2022 16:18:11 +0000 (16:18 +0000)
committerVinod Koul <vkoul@kernel.org>
Mon, 9 Jan 2023 16:06:08 +0000 (21:36 +0530)
commit827c32d0df4bbe0d1c47d79f6a5eabfe9ac75216
tree08ca3ffcf058420e0f69adaa7ddcc4f92aeb9d80
parent7cbfee2e2e40d2be54196362a845a3ea0a3f877d
soundwire: cadence: Remove wasted space in response_buf

The response_buf was declared much larger (128 entries) than the number
of responses that could ever be written into it. The Cadence IP is
configurable up to a maximum of 32 entries, and the datasheet says
that RX_FIFO_AVAIL can be 2 larger than this. So allow up to 34
responses.

Also add checking in cdns_read_response() to prevent overflowing
reponse_buf if RX_FIFO_AVAIL contains an unexpectedly large number.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20221202161812.4186897-3-rf@opensource.cirrus.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/soundwire/cadence_master.c
drivers/soundwire/cadence_master.h