On Tue, Feb 14, 2023 at 02:01:52PM -0600, Sanjay R Mehta wrote: > void tb_check_quirks(struct tb_switch *sw) > { > + struct tb_switch *root_sw = sw->tb->root_switch; > int i; > > for (i = 0; i < ARRAY_SIZE(tb_quirks); i++) { > const struct tb_quirk *q = &tb_quirks[i]; > > - if (q->hw_vendor_id && q->hw_vendor_id != sw->config.vendor_id) > + if (q->hw_vendor_id && (q->hw_vendor_id != sw->config.vendor_id && > + q->hw_vendor_id != root_sw->config.vendor_id)) Again, why you need to change this? If you have the AMD host router device ID in the list the quirk applies and that makes the driver skip enabling CL states for that link. It should not matter if we enable CL states in the deeper parts of the topology (even if we actually do not at the moment) because that's completely different link, right.