Re: [RFC PATCH 23/40] soundwire: stream: fix disable sequence

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 7/26/19 5:14 AM, Cezary Rojewski wrote:
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.

Yes, but the flip side is that people need to look at what the macro does to figure it out, while everyone knows what list_for_each_entry() means. Not sure about this one. And on top of this we'll probably have to rework this code to have a background copy of the current bank in the alternate bank so it'd rather leave it simple for now.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux