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 -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html