Message ID | 1613165243-23359-1-git-send-email-jhugo@codeaurora.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 6403298c58d4858d93648f553abf0bcbd2dfaca2 |
Headers | show |
Series | bus: mhi: core: Fix check for syserr at power_up | expand |
On Fri, 12 Feb 2021 at 22:27, Jeffrey Hugo <jhugo@codeaurora.org> wrote: > > The check to see if we have reset the device after detecting syserr at > power_up is inverted. wait_for_event_timeout() returns 0 on failure, > and a positive value on success. The check is looking for non-zero > as a failure, which is likely to incorrectly cause a device init failure > if syserr was detected at power_up. Fix this. > > Fixes: e18d4e9fa79b ("bus: mhi: core: Handle syserr during power_up") > Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org> Reviewed-by: Loic Poulain <loic.poulain@linaro.org> > --- > drivers/bus/mhi/core/pm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/bus/mhi/core/pm.c b/drivers/bus/mhi/core/pm.c > index 681960c..36ab7aa 100644 > --- a/drivers/bus/mhi/core/pm.c > +++ b/drivers/bus/mhi/core/pm.c > @@ -1092,7 +1092,7 @@ int mhi_async_power_up(struct mhi_controller *mhi_cntrl) > &val) || > !val, > msecs_to_jiffies(mhi_cntrl->timeout_ms)); > - if (ret) { > + if (!ret) { > ret = -EIO; > dev_info(dev, "Failed to reset MHI due to syserr state\n"); > goto error_bhi_offset; > -- > Qualcomm Technologies, Inc. is a member of the > Code Aurora Forum, a Linux Foundation Collaborative Project. >
On Fri, Feb 12, 2021 at 02:27:23PM -0700, Jeffrey Hugo wrote: > The check to see if we have reset the device after detecting syserr at > power_up is inverted. wait_for_event_timeout() returns 0 on failure, > and a positive value on success. The check is looking for non-zero > as a failure, which is likely to incorrectly cause a device init failure > if syserr was detected at power_up. Fix this. > > Fixes: e18d4e9fa79b ("bus: mhi: core: Handle syserr during power_up") > Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Thanks, Mani > --- > drivers/bus/mhi/core/pm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/bus/mhi/core/pm.c b/drivers/bus/mhi/core/pm.c > index 681960c..36ab7aa 100644 > --- a/drivers/bus/mhi/core/pm.c > +++ b/drivers/bus/mhi/core/pm.c > @@ -1092,7 +1092,7 @@ int mhi_async_power_up(struct mhi_controller *mhi_cntrl) > &val) || > !val, > msecs_to_jiffies(mhi_cntrl->timeout_ms)); > - if (ret) { > + if (!ret) { > ret = -EIO; > dev_info(dev, "Failed to reset MHI due to syserr state\n"); > goto error_bhi_offset; > -- > Qualcomm Technologies, Inc. is a member of the > Code Aurora Forum, a Linux Foundation Collaborative Project. >
On Fri, Feb 12, 2021 at 02:27:23PM -0700, Jeffrey Hugo wrote: > The check to see if we have reset the device after detecting syserr at > power_up is inverted. wait_for_event_timeout() returns 0 on failure, > and a positive value on success. The check is looking for non-zero > as a failure, which is likely to incorrectly cause a device init failure > if syserr was detected at power_up. Fix this. > > Fixes: e18d4e9fa79b ("bus: mhi: core: Handle syserr during power_up") > Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org> Applied to mhi-next! Thanks, Mani > --- > drivers/bus/mhi/core/pm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/bus/mhi/core/pm.c b/drivers/bus/mhi/core/pm.c > index 681960c..36ab7aa 100644 > --- a/drivers/bus/mhi/core/pm.c > +++ b/drivers/bus/mhi/core/pm.c > @@ -1092,7 +1092,7 @@ int mhi_async_power_up(struct mhi_controller *mhi_cntrl) > &val) || > !val, > msecs_to_jiffies(mhi_cntrl->timeout_ms)); > - if (ret) { > + if (!ret) { > ret = -EIO; > dev_info(dev, "Failed to reset MHI due to syserr state\n"); > goto error_bhi_offset; > -- > Qualcomm Technologies, Inc. is a member of the > Code Aurora Forum, a Linux Foundation Collaborative Project. >
Hello: This patch was applied to qcom/linux.git (refs/heads/for-next): On Fri, 12 Feb 2021 14:27:23 -0700 you wrote: > The check to see if we have reset the device after detecting syserr at > power_up is inverted. wait_for_event_timeout() returns 0 on failure, > and a positive value on success. The check is looking for non-zero > as a failure, which is likely to incorrectly cause a device init failure > if syserr was detected at power_up. Fix this. > > Fixes: e18d4e9fa79b ("bus: mhi: core: Handle syserr during power_up") > Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org> > > [...] Here is the summary with links: - bus: mhi: core: Fix check for syserr at power_up https://git.kernel.org/qcom/c/6403298c58d4 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/drivers/bus/mhi/core/pm.c b/drivers/bus/mhi/core/pm.c index 681960c..36ab7aa 100644 --- a/drivers/bus/mhi/core/pm.c +++ b/drivers/bus/mhi/core/pm.c @@ -1092,7 +1092,7 @@ int mhi_async_power_up(struct mhi_controller *mhi_cntrl) &val) || !val, msecs_to_jiffies(mhi_cntrl->timeout_ms)); - if (ret) { + if (!ret) { ret = -EIO; dev_info(dev, "Failed to reset MHI due to syserr state\n"); goto error_bhi_offset;
The check to see if we have reset the device after detecting syserr at power_up is inverted. wait_for_event_timeout() returns 0 on failure, and a positive value on success. The check is looking for non-zero as a failure, which is likely to incorrectly cause a device init failure if syserr was detected at power_up. Fix this. Fixes: e18d4e9fa79b ("bus: mhi: core: Handle syserr during power_up") Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org> --- drivers/bus/mhi/core/pm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)