Skip to content

Commit 8ee1b43

Browse files
plbossartvinodkoul
authored andcommitted
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 <[email protected]> Reviewed-by: Rander Wang <[email protected]> Signed-off-by: Bard Liao <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Vinod Koul <[email protected]>
1 parent 2a9c6ff commit 8ee1b43

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/soundwire/cadence_master.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1880,7 +1880,7 @@ struct sdw_cdns_pdi *sdw_cdns_alloc_pdi(struct sdw_cdns *cdns,
18801880

18811881
/* check if we found a PDI, else find in bi-directional */
18821882
if (!pdi)
1883-
pdi = cdns_find_pdi(cdns, 2, stream->num_bd, stream->bd,
1883+
pdi = cdns_find_pdi(cdns, 0, stream->num_bd, stream->bd,
18841884
dai_id);
18851885

18861886
if (pdi) {

0 commit comments

Comments
 (0)