diff options
| author | Ma Ke <make24@iscas.ac.cn> | 2024-07-02 11:20:42 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-08-03 08:49:47 +0200 |
| commit | 7f470524dce53b3ea4cfaa316c42ccb33a51de36 (patch) | |
| tree | 9b2f38f444c594e65d566a6a9b6116f1d119bc08 /drivers/phy | |
| parent | 1e7fe21facbf43fedf82c9fa9fda44526a078387 (diff) | |
| download | linux-7f470524dce53b3ea4cfaa316c42ccb33a51de36.tar.gz linux-7f470524dce53b3ea4cfaa316c42ccb33a51de36.tar.bz2 linux-7f470524dce53b3ea4cfaa316c42ccb33a51de36.zip | |
phy: cadence-torrent: Check return value on register read
[ Upstream commit 967969cf594ed3c1678a9918d6e9bb2d1591cbe9 ]
cdns_torrent_dp_set_power_state() does not consider that ret might be
overwritten. Add return value check of regmap_read_poll_timeout() after
register read in cdns_torrent_dp_set_power_state().
Fixes: 5b16a790f18d ("phy: cadence-torrent: Reorder few functions to remove function declarations")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/20240702032042.3993031-1-make24@iscas.ac.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/phy')
| -rw-r--r-- | drivers/phy/cadence/phy-cadence-torrent.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/phy/cadence/phy-cadence-torrent.c b/drivers/phy/cadence/phy-cadence-torrent.c index f099053c583c..34a380ce533a 100644 --- a/drivers/phy/cadence/phy-cadence-torrent.c +++ b/drivers/phy/cadence/phy-cadence-torrent.c @@ -1087,6 +1087,9 @@ static int cdns_torrent_dp_set_power_state(struct cdns_torrent_phy *cdns_phy, ret = regmap_read_poll_timeout(regmap, PHY_PMA_XCVR_POWER_STATE_ACK, read_val, (read_val & mask) == value, 0, POLL_TIMEOUT_US); + if (ret) + return ret; + cdns_torrent_dp_write(regmap, PHY_PMA_XCVR_POWER_STATE_REQ, 0x00000000); ndelay(100); |
