Commit 8d80c990 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull soundwire fix from Vinod Koul:

 - Single fix for non-continous port map programming

* tag 'soundwire-6.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire:
  soundwire: stream: fix programming slave ports for non-continous port maps
parents 13c6bba6 ab8d66d1
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -1291,18 +1291,18 @@ struct sdw_dpn_prop *sdw_get_slave_dpn_prop(struct sdw_slave *slave,
					    unsigned int port_num)
{
	struct sdw_dpn_prop *dpn_prop;
	u8 num_ports;
	unsigned long mask;
	int i;

	if (direction == SDW_DATA_DIR_TX) {
		num_ports = hweight32(slave->prop.source_ports);
		mask = slave->prop.source_ports;
		dpn_prop = slave->prop.src_dpn_prop;
	} else {
		num_ports = hweight32(slave->prop.sink_ports);
		mask = slave->prop.sink_ports;
		dpn_prop = slave->prop.sink_dpn_prop;
	}

	for (i = 0; i < num_ports; i++) {
	for_each_set_bit(i, &mask, 32) {
		if (dpn_prop[i].num == port_num)
			return &dpn_prop[i];
	}