On Wed, Oct 02, 2019 at 04:17:54PM +0200, Oliver Neukum wrote: > Am Dienstag, den 01.10.2019, 14:38 +0300 schrieb Mika Westerberg: > > @@ -1975,10 +1972,8 @@ void tb_switch_suspend(struct tb_switch *sw) > > if (err) > > return; > > > > - for (i = 1; i <= sw->config.max_port_number; i++) { > > - if (tb_port_has_remote(&sw->ports[i])) > > - tb_switch_suspend(sw->ports[i].remote->sw); > > - } > > + tb_switch_for_each_remote_port(sw, i) > > + tb_switch_suspend(sw->ports[i].remote->sw); > > This macro looks a bit prone to misunderstanding. > I guess the function would be better if the test could be seen. The macro does not really save too many lines so I think I can just drop this patch for now and keep these open-coded.