[lkml]   [2020]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [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 <>
> Reviewed-by: Manivannan Sadhasivam <>
> ---
Reviewed-by: Hemant Kumar <>
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

 \ /
  Last update: 2020-04-28 20:54    [W:0.469 / U:4.872 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site