Hi, There is an issue in the function sas_ex_discover_dev() when I have multiple SAS expanders chained under one SAS port on SAS controller. In this function, we first check whether the PHY’s attached_sas_address is already present in the SAS domain, and then check if this PHY belongs to an existing port on this SAS expander. I think this has an issue if this SAS expander use a wide port connecting a downstream SAS expander. This is because if the PHY belongs to an existing port on this SAS expander, the attached SAS address of this port must already be present in the domain and it results in disabling that port. I don’t think that is what we expect. In old release (4.x), at the end of this function, it would make addition sas_ex_join_wide_port() call for any possibly PHYs that could be added into the SAS port. This will make subsequent PHYs (other than the first PHY of that port) being marked to DISCOVERED so that this function would not be invoked on those subsequent PHYs (in that port). But potential question here is we didn’t configure the per-PHY routing table for those PHYs. As I don’t have such SAS expander on hand, I am not sure what’s impact (maybe just performance/bandwidth impact). But at least, it didn’t impact the functionality of that port. But in v5.3 or later release, that part of code was removed (in the commit a1b6fb947f923). And this caused this problem occurred (downstream port of that SAS expander was disabled and all downstream SAS devices were removed from the domain). Regards. Eric Li SPE, DellEMC 3/F KIC 1, 252# Songhu Road, YangPu District, SHANGHAI +86-21-6036-4384 Internal Use - Confidential