The value of the negotiated link rate has two possible values in the current processing branch: SAS_LINK_RATE_UNKNOWN and SAS_PHY_DISABLED, and both come from disc_resp. If we do not use disc_resp, but set a fixed value SAS_PHY_DISABLED for it, it may not be appropriate.
Can we directly set phy->negotiated_linkrate = SAS_PHY_DISABLED here? For an empty PHY the other variables means nothing, so why bother get and update them?