7 Feb
2017
7 Feb
'17
2:50 p.m.
On Tue, Feb 07, 2017 at 02:42:15PM +0100, Maxime Ripard wrote:
- if (!IS_ERR(i2s->rst)) {
ret = reset_control_deassert(i2s->rst);
if (ret) {
dev_err(&pdev->dev,
"Failed to deassert the reset control\n");
return -EINVAL;
}
- ret = reset_control_deassert(i2s->rst);
- if (ret) {
dev_err(&pdev->dev,
"Failed to deassert the reset control\n");
return -EINVAL;
In the case where has_reset is false, rst is NULL and will trigger a WARN_ON in reset_control_deassert.
No it won't. reset_control_deassert(NULL) just returns success immediately.
The proper fix would be to move it in the previous if block, or to change the IS_ERR check for a NULL check.
We could move it as a clean up but the current code works. Checking for NULL is wrong.
regards, dan carpenter