Hi Mario, On Wed, Mar 02, 2022 at 04:07:07PM -0600, Mario Limonciello wrote: > The USB4 specification doesn't make any requirements that reading > a device router's DROM is needed for the operation of the device. > > On page 207 of the USB4 1.0 spec it does mention that a CM may use > the DROM to make decision though: > ``` > After enumerating a Router, the Connection Manager may read the > contents of the Router’s DROM. If, after reading the contents of > DROM, the Connection Manager decides that it does not want the > Router in its Domain... > ``` You don't need to quote the spec for Thunderbolt patches. I can read, and it's not like it is going to change anyway ;-) > Other connection manager solutions don't necessarily read it or gate > the usability of the device on whether it was read. Indeed. > So make failures when reading the DROM show warnings but not > fail the initialization of the switch. > > Link: https://www.usb.org/sites/default/files/USB4%20Specification%2020211116.zip Also no need to "link" the spec. I know where the spec can be downloaded. Ditto for all patches. > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> > --- > drivers/thunderbolt/switch.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c > index 294518af4ee4..ac87e8b50e52 100644 > --- a/drivers/thunderbolt/switch.c > +++ b/drivers/thunderbolt/switch.c > @@ -2784,10 +2784,8 @@ int tb_switch_add(struct tb_switch *sw) > > /* read drom */ > ret = tb_drom_read(sw); > - if (ret) { > - dev_err(&sw->dev, "reading DROM failed\n"); > - return ret; > - } > + if (ret) > + dev_warn(&sw->dev, "reading DROM failed: %d\n", ret); > tb_sw_dbg(sw, "uid: %#llx\n", sw->uid); > > tb_check_quirks(sw); > -- > 2.34.1