Message ID | 20240702032042.3993031-1-make24@iscas.ac.cn |
---|---|
State | Accepted |
Commit | 967969cf594ed3c1678a9918d6e9bb2d1591cbe9 |
Headers | show |
Series | phy: cadence-torrent: Check return value on register read | expand |
> 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(). I suggest to improve such a change description another bit. 1. A return value is stored in the mentioned local variable. 2. Unfortunately, it was not immediately checked. * https://cwe.mitre.org/data/definitions/252.html * https://wiki.sei.cmu.edu/confluence/display/c/EXP12-C.+Do+not+ignore+values+returned+by+functions 3. How do you think about to avoid a repeated reference to a function name? … > Signed-off-by: Ma Ke <make24@iscas.ac.cn> * Why was the personal name “Haoxiang Li” not specified here? * Under which circumstances will applications of the Developer's Certificate of Origin be clarified better? https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.10-rc6#n398 How do you think about to use a summary phrase like “Complete error handling in cdns_torrent_dp_set_power_state()”? Regards, Markus
On 02/07/2024 06:20, Ma Ke wrote: > 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>
On 02-07-24, 09:43, Markus Elfring wrote: > > 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(). > > I suggest to improve such a change description another bit. > > 1. A return value is stored in the mentioned local variable. > > 2. Unfortunately, it was not immediately checked. > > * https://cwe.mitre.org/data/definitions/252.html > > * https://wiki.sei.cmu.edu/confluence/display/c/EXP12-C.+Do+not+ignore+values+returned+by+functions > > 3. How do you think about to avoid a repeated reference to a function name? <form letter> Feel free to ignore all comments from Markus, regardless whether the suggestion is reasonable or not. This person is banned from LKML and several maintainers ignore Markus' feedback, because it is just a waste of time. </form letter>
On Tue, 02 Jul 2024 11:20:42 +0800, Ma Ke wrote: > 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(). > > Applied, thanks! [1/1] phy: cadence-torrent: Check return value on register read commit: 967969cf594ed3c1678a9918d6e9bb2d1591cbe9 Best regards,
diff --git a/drivers/phy/cadence/phy-cadence-torrent.c b/drivers/phy/cadence/phy-cadence-torrent.c index 95924a09960c..6113f0022e6e 100644 --- a/drivers/phy/cadence/phy-cadence-torrent.c +++ b/drivers/phy/cadence/phy-cadence-torrent.c @@ -1156,6 +1156,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);
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> --- drivers/phy/cadence/phy-cadence-torrent.c | 3 +++ 1 file changed, 3 insertions(+)