HI Vladimir,

> -----Original Message-----
> From: Vladimir Oltean <[email protected]>
> Sent: Friday, March 20, 2026 4:02 AM
> To: [email protected]
> Cc: Vinod Koul <[email protected]>; Neil Armstrong
> <[email protected]>; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; linux-
> [email protected]; [email protected]; linux-
> [email protected]; [email protected]; linux-
> [email protected]; [email protected]; linux-
> [email protected]; [email protected];
linux-samsung-
> [email protected]; [email protected];
[email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; Bart Van Assche <[email protected]>;
> Alim Akhtar <[email protected]>; Peter Griffin
> <[email protected]>; James E.J. Bottomley
> <[email protected]>; Martin K. Petersen
> <[email protected]>; Krzysztof Kozlowski <[email protected]>;
> Chanho Park <[email protected]>
> Subject: [PATCH v5 phy-next 09/27] scsi: ufs: exynos: stop poking into
struct
> phy guts
> 
> The Exynos host controller driver is clearly a PHY consumer (gets the
> ufs->phy using devm_phy_get()), but pokes into the guts of struct phy
> to get the generic_phy->power_count.
> 
> The UFS core (specifically ufshcd_link_startup()) may call the variant
> operation exynos_ufs_pre_link() -> exynos_ufs_phy_init() multiple times if
> the link startup fails and needs to be retried.
> 
> However ufs-exynos shouldn't be doing what it's doing, i.e. looking at the
> generic_phy->power_count, because in the general sense of the API, a
> single Generic PHY may have multiple consumers. If ufs-exynos looks at
> generic_phy->power_count, there's no guarantee that this ufs-exynos
> instance is the one who previously bumped that power count. So it may be
> powering down the PHY on behalf of another consumer.
> 
> The correct way in which this should be handled is ufs-exynos should
> *remember* whether it has initialized and powered up the PHY before, and
> power it down during link retries. Not rely on the power_count (which,
btw,
> on the writer side is modified under &phy->mutex, but on the reader side
is
> accessed unlocked). This is a discouraged pattern even if here it doesn't
> cause functional problems.
> 
> Signed-off-by: Vladimir Oltean <[email protected]>
> Reviewed-by: Bart Van Assche <[email protected]>
> ---
Thanks for the patch
Acked-by: Alim Akhtar <[email protected]>

Tested this patch for basic UFS functionality, UFS still works. 
Feel free to add
Tested-by: Alim Akhtar <[email protected]>



Reply via email to