[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b81dd0ff-9c85-ae7e-55db-0055c57df801@codeaurora.org>
Date: Tue, 28 Apr 2020 11:54:03 -0700
From: Hemant Kumar <hemantk@...eaurora.org>
To: Jeffrey Hugo <jhugo@...eaurora.org>,
manivannan.sadhasivam@...aro.org
Cc: bbhatt@...eaurora.org, linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 2/6] bus: mhi: core: Remove link_status() callback
On 4/27/20 8:59 AM, Jeffrey Hugo wrote:
> If the MHI core detects invalid data due to a PCI read, it calls into
> the controller via link_status() to double check that the link is infact
> down. All in all, this is pretty pointless, and racy. There are no good
> reasons for this, and only drawbacks.
>
> Its pointless because chances are, the controller is going to do the same
> thing to determine if the link is down - attempt a PCI access and compare
> the result. This does not make the link status decision any smarter.
>
> Its racy because its possible that the link was down at the time of the
> MHI core access, but then recovered before the controller access. In this
> case, the controller will indicate the link is not down, and the MHI core
> will precede to use a bad value as the MHI core does not attempt to retry
> the access.
>
> Retrying the access in the MHI core is a bad idea because again, it is
> racy - what if the link is down again? Furthermore, there may be some
> higher level state associated with the link status, that is now invalid
> because the link went down.
>
> The only reason why the MHI core could see "invalid" data when doing a PCI
> access, that is actually valid, is if the register actually contained the
> PCI spec defined sentinel for an invalid access. In this case, it is
> arguable that the MHI implementation broken, and should be fixed, not
> worked around.
>
> Therefore, remove the link_status() callback before anyone attempts to
> implement it.
>
> Signed-off-by: Jeffrey Hugo <jhugo@...eaurora.org>
> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
> ---
Reviewed-by: Hemant Kumar <hemantk@...eaurora.org>
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
Powered by blists - more mailing lists