Re: [PATCH v3 1/3] scsi: hisi_sas: Enable force phy when SATA disk directly connected

John Garry
2025-02-26T08:57:50Z

On 25/02/2025 09:35, yangxingui wrote:
>>>>
>>>> pm8001 sends sas_notify_port_event(sas_phy, PORTE_LINK_RESET_ERR,)
>>>> link reset errors - can you consider doing that in
>>>> hisi_sas_update_port_id() when you find an inconstant port id?
>>> Currently during phyup, the hw port id may change, and the
>>> corresponding hisi_sas_port.id and the port id in itct are not
>>> updated synchronously. The problem caused is not a link error, so we
>>> don't need deform port, just update the port id when phyup.
>>
>> Sure, but I am just trying to keep this simple. If you deform and
>> reform the port - and so lose and find the disk (which does the itct
>> config) - will that solve the problem?
>
> 1、phyup ->form port -> eh -> ata reset -> found hw port change ->
> deform port -> let dev gone -> refound
>
> 2、controller reset -> phyup -> finish controller reset -> found hw port
> change -> deform port -> let dev gone -> refound
>
> I also thought about the plan you mentioned in the early days. The above
> will make the process more complicated and retriggering phyup may result
> in a new round of port id changes. Lose and find the disk will cause the
> upper layer IO to report error when controller reset. It seems that it
> is better to make the upper layer unaware of the hw port id change when
> phyup in reset, like ata reset or controller reset. ^_^

The lldd_dev_found CB is where you should set the itct, and it is only
possible to do that if you report the device gone first. So that seems
like a simpler solution.