On 2019-07-26 01:40, Pierre-Louis Bossart wrote:
- return do_bank_switch(stream);
+       ret = do_bank_switch(stream);
+       if (ret < 0) {
+               dev_err(bus->dev, "Bank switch failed: %d\n", ret);
+               return ret;
+       }
+
+       /* make sure alternate bank (previous current) is also disabled */
+       list_for_each_entry(m_rt, &stream->master_list, stream_node) {
+               bus = m_rt->bus;
+               /* Disable port(s) */
+               ret = sdw_enable_disable_ports(m_rt, false);
+               if (ret < 0) {
+                       dev_err(bus->dev, "Disable port(s) failed: %d\n", ret);
+                       return ret;
+               }
+       }
+
+       return 0;
  }
/**


While not directly connected to this commit, I see that you do:
link_for_each_entry(m_rt, &stream->master_list, stream_node)

quite often in /stream.c code. Helpful macro would prove useful.

Reply via email to