mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
soundwire: cadence: fix invalid PDI offset
For some reason, we add an offset to the PDI, presumably to skip the PDI0 and PDI1 which are reserved for BPT. This code is however completely wrong and leads to an out-of-bounds access. We were just lucky so far since we used only a couple of PDIs and remained within the PDI array bounds. A Fixes: tag is not provided since there are no known platforms where the out-of-bounds would be accessed, and the initial code had problems as well. A follow-up patch completely removes this useless offset. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20240326090122.1051806-2-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
2a9c6ff5ca
commit
8ee1b439b1
@ -1880,7 +1880,7 @@ struct sdw_cdns_pdi *sdw_cdns_alloc_pdi(struct sdw_cdns *cdns,
|
||||
|
||||
/* check if we found a PDI, else find in bi-directional */
|
||||
if (!pdi)
|
||||
pdi = cdns_find_pdi(cdns, 2, stream->num_bd, stream->bd,
|
||||
pdi = cdns_find_pdi(cdns, 0, stream->num_bd, stream->bd,
|
||||
dai_id);
|
||||
|
||||
if (pdi) {
|
||||
|
Loading…
Reference in New Issue
Block a user