linux/drivers/soundwire
Krzysztof Kozlowski 1e4782f826 soundwire: stream: fix programming slave ports for non-continous port maps
commit ab8d66d132 upstream.

Two bitmasks in 'struct sdw_slave_prop' - 'source_ports' and
'sink_ports' - define which ports to program in
sdw_program_slave_port_params().  The masks are used to get the
appropriate data port properties ('struct sdw_get_slave_dpn_prop') from
an array.

Bitmasks can be non-continuous or can start from index different than 0,
thus when looking for matching port property for given port, we must
iterate over mask bits, not from 0 up to number of ports.

This fixes allocation and programming slave ports, when a source or sink
masks start from further index.

Fixes: f8101c74aa ("soundwire: Add Master and Slave port programming")
Cc: stable@vger.kernel.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20240729140157.326450-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-09-04 13:25:00 +02:00
..
bus.c soundwire: fix enumeration completion 2023-08-03 10:24:15 +02:00
bus.h soundwire: export sdw_update() and sdw_update_no_pm() 2021-06-21 13:00:42 +01:00
bus_type.c soundwire: bus_type: Avoid lockdep assert in sdw_drv_probe() 2023-03-11 13:55:35 +01:00
cadence_master.c soundwire: cadence: fix invalid PDI offset 2024-06-12 11:03:34 +02:00
cadence_master.h soundwire: intel: don't save hw_params for use in prepare 2023-05-11 23:03:37 +09:00
debugfs.c soundwire: debugfs: use controller id and link_id for debugfs 2021-10-01 09:53:47 +05:30
dmi-quirks.c ASoC: Intel: common: DMI remap for rebranded Intel NUC M15 (LAPRC710) laptops 2024-04-13 13:05:07 +02:00
generic_bandwidth_allocation.c soundwire: bandwidth allocation: improve error messages 2021-05-11 17:34:07 +05:30
intel.c soundwire: intel: don't save hw_params for use in prepare 2023-05-11 23:03:37 +09:00
intel.h soundwire: intel: skip suspend/resume/wake when link was not started 2021-08-23 17:40:33 +05:30
intel_init.c soundwire: intel: cleanup definition of LCOUNT 2022-09-01 14:29:14 +05:30
Kconfig soundwire: intel: move to auxiliary bus 2021-06-14 10:12:26 +05:30
Makefile soundwire: Intel: introduce DMI quirks for HP Spectre x360 Convertible 2021-03-22 17:33:10 +05:30
master.c soundwire: master: use pm_runtime_set_active() on add 2020-12-02 12:49:34 +05:30
mipi_disco.c soundwire: fix port_ready[] dynamic allocation in mipi_disco 2020-09-03 16:02:29 +05:30
qcom.c soundwire: qcom: update status correctly with mask 2023-08-03 10:23:57 +02:00
slave.c Char / Misc driver changes for 6.0-rc1 2022-08-04 11:05:48 -07:00
stream.c soundwire: stream: fix programming slave ports for non-continous port maps 2024-09-04 13:25:00 +02:00
sysfs_local.h soundwire: sysfs: add slave status and device number before probe 2020-09-28 11:17:43 +05:30
sysfs_slave.c soundwire: sysfs: Constify static struct attribute_group 2021-01-19 20:21:20 +05:30
sysfs_slave_dpn.c soundwire: Fix DEBUG_LOCKS_WARN_ON for uninitialized attribute 2020-11-24 14:08:51 +05:30