All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] bus: mhi: core: Use current ee in intvec handler for syserr
@ 2021-02-13  0:40 Jeffrey Hugo
  2021-02-15  7:21 ` Loic Poulain
  2021-02-16  7:32 ` Manivannan Sadhasivam
  0 siblings, 2 replies; 5+ messages in thread
From: Jeffrey Hugo @ 2021-02-13  0:40 UTC (permalink / raw)
  To: manivannan.sadhasivam, hemantk
  Cc: bbhatt, linux-arm-msm, linux-kernel, Jeffrey Hugo

The intvec handler stores the caches ee in a local variable for use in
processing the intvec.  When determining if a syserr is a fatal error or
not, the intvec handler is using the cached version, when it should be
using the current ee read from the device.  Currently, the device could
be in the PBL ee as the result of a fatal error, but the cached ee might
be AMSS, which would cause the intvec handler to incorrectly signal a
non-fatal syserr.

Fixes: 3000f85b8f47 ("bus: mhi: core: Add support for basic PM operations")
Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
---
 drivers/bus/mhi/core/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/bus/mhi/core/main.c b/drivers/bus/mhi/core/main.c
index 4e0131b..f182736 100644
--- a/drivers/bus/mhi/core/main.c
+++ b/drivers/bus/mhi/core/main.c
@@ -448,7 +448,7 @@ irqreturn_t mhi_intvec_threaded_handler(int irq_number, void *priv)
 		wake_up_all(&mhi_cntrl->state_event);
 
 		/* For fatal errors, we let controller decide next step */
-		if (MHI_IN_PBL(ee))
+		if (MHI_IN_PBL(mhi_cntrl->ee))
 			mhi_cntrl->status_cb(mhi_cntrl, MHI_CB_FATAL_ERROR);
 		else
 			mhi_pm_sys_err_handler(mhi_cntrl);
-- 
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] bus: mhi: core: Use current ee in intvec handler for syserr
  2021-02-13  0:40 [PATCH] bus: mhi: core: Use current ee in intvec handler for syserr Jeffrey Hugo
@ 2021-02-15  7:21 ` Loic Poulain
  2021-02-16  7:32 ` Manivannan Sadhasivam
  1 sibling, 0 replies; 5+ messages in thread
From: Loic Poulain @ 2021-02-15  7:21 UTC (permalink / raw)
  To: Jeffrey Hugo
  Cc: Manivannan Sadhasivam, Hemant Kumar, Bhaumik Bhatt,
	linux-arm-msm, open list

On Sat, 13 Feb 2021 at 01:41, Jeffrey Hugo <jhugo@codeaurora.org> wrote:
>
> The intvec handler stores the caches ee in a local variable for use in
> processing the intvec.  When determining if a syserr is a fatal error or
> not, the intvec handler is using the cached version, when it should be
> using the current ee read from the device.  Currently, the device could
> be in the PBL ee as the result of a fatal error, but the cached ee might
> be AMSS, which would cause the intvec handler to incorrectly signal a
> non-fatal syserr.
>
> Fixes: 3000f85b8f47 ("bus: mhi: core: Add support for basic PM operations")
> Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>

So in that function, 'ee' should be 'previous_ee', right?

Reviewed-by: Loic Poulain <loic.poulain@linaro.org>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] bus: mhi: core: Use current ee in intvec handler for syserr
  2021-02-13  0:40 [PATCH] bus: mhi: core: Use current ee in intvec handler for syserr Jeffrey Hugo
  2021-02-15  7:21 ` Loic Poulain
@ 2021-02-16  7:32 ` Manivannan Sadhasivam
  2021-02-16 17:36   ` Bhaumik Bhatt
  1 sibling, 1 reply; 5+ messages in thread
From: Manivannan Sadhasivam @ 2021-02-16  7:32 UTC (permalink / raw)
  To: Jeffrey Hugo; +Cc: hemantk, bbhatt, linux-arm-msm, linux-kernel

On Fri, Feb 12, 2021 at 05:40:14PM -0700, Jeffrey Hugo wrote:
> The intvec handler stores the caches ee in a local variable for use in
> processing the intvec.  When determining if a syserr is a fatal error or
> not, the intvec handler is using the cached version, when it should be
> using the current ee read from the device.  Currently, the device could
> be in the PBL ee as the result of a fatal error, but the cached ee might
> be AMSS, which would cause the intvec handler to incorrectly signal a
> non-fatal syserr.
> 
> Fixes: 3000f85b8f47 ("bus: mhi: core: Add support for basic PM operations")
> Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

Thanks,
Mani

> ---
>  drivers/bus/mhi/core/main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/bus/mhi/core/main.c b/drivers/bus/mhi/core/main.c
> index 4e0131b..f182736 100644
> --- a/drivers/bus/mhi/core/main.c
> +++ b/drivers/bus/mhi/core/main.c
> @@ -448,7 +448,7 @@ irqreturn_t mhi_intvec_threaded_handler(int irq_number, void *priv)
>  		wake_up_all(&mhi_cntrl->state_event);
>  
>  		/* For fatal errors, we let controller decide next step */
> -		if (MHI_IN_PBL(ee))
> +		if (MHI_IN_PBL(mhi_cntrl->ee))
>  			mhi_cntrl->status_cb(mhi_cntrl, MHI_CB_FATAL_ERROR);
>  		else
>  			mhi_pm_sys_err_handler(mhi_cntrl);
> -- 
> Qualcomm Technologies, Inc. is a member of the
> Code Aurora Forum, a Linux Foundation Collaborative Project.
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] bus: mhi: core: Use current ee in intvec handler for syserr
  2021-02-16  7:32 ` Manivannan Sadhasivam
@ 2021-02-16 17:36   ` Bhaumik Bhatt
  2021-02-16 17:55     ` Jeffrey Hugo
  0 siblings, 1 reply; 5+ messages in thread
From: Bhaumik Bhatt @ 2021-02-16 17:36 UTC (permalink / raw)
  To: Manivannan Sadhasivam; +Cc: Jeffrey Hugo, hemantk, linux-arm-msm, linux-kernel

On 2021-02-15 11:32 PM, Manivannan Sadhasivam wrote:
> On Fri, Feb 12, 2021 at 05:40:14PM -0700, Jeffrey Hugo wrote:
>> The intvec handler stores the caches ee in a local variable for use in
>> processing the intvec.  When determining if a syserr is a fatal error 
>> or
>> not, the intvec handler is using the cached version, when it should be
>> using the current ee read from the device.  Currently, the device 
>> could
>> be in the PBL ee as the result of a fatal error, but the cached ee 
>> might
>> be AMSS, which would cause the intvec handler to incorrectly signal a
>> non-fatal syserr.
>> 
>> Fixes: 3000f85b8f47 ("bus: mhi: core: Add support for basic PM 
>> operations")
>> Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
> 
> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> 
> Thanks,
> Mani
> 
>> ---
>>  drivers/bus/mhi/core/main.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/drivers/bus/mhi/core/main.c b/drivers/bus/mhi/core/main.c
>> index 4e0131b..f182736 100644
>> --- a/drivers/bus/mhi/core/main.c
>> +++ b/drivers/bus/mhi/core/main.c
>> @@ -448,7 +448,7 @@ irqreturn_t mhi_intvec_threaded_handler(int 
>> irq_number, void *priv)
>>  		wake_up_all(&mhi_cntrl->state_event);
>> 
>>  		/* For fatal errors, we let controller decide next step */
>> -		if (MHI_IN_PBL(ee))
>> +		if (MHI_IN_PBL(mhi_cntrl->ee))
>>  			mhi_cntrl->status_cb(mhi_cntrl, MHI_CB_FATAL_ERROR);
>>  		else
>>  			mhi_pm_sys_err_handler(mhi_cntrl);
>> --
>> Qualcomm Technologies, Inc. is a member of the
>> Code Aurora Forum, a Linux Foundation Collaborative Project.
>> 

This was being fixed by my patch series for execution environment.

I should just send the most important of my patches as one line fixers 
from now on.

Thanks,
Bhaumik
---
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora 
Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] bus: mhi: core: Use current ee in intvec handler for syserr
  2021-02-16 17:36   ` Bhaumik Bhatt
@ 2021-02-16 17:55     ` Jeffrey Hugo
  0 siblings, 0 replies; 5+ messages in thread
From: Jeffrey Hugo @ 2021-02-16 17:55 UTC (permalink / raw)
  To: bbhatt, Manivannan Sadhasivam; +Cc: hemantk, linux-arm-msm, linux-kernel

On 2/16/2021 10:36 AM, Bhaumik Bhatt wrote:
> On 2021-02-15 11:32 PM, Manivannan Sadhasivam wrote:
>> On Fri, Feb 12, 2021 at 05:40:14PM -0700, Jeffrey Hugo wrote:
>>> The intvec handler stores the caches ee in a local variable for use in
>>> processing the intvec.  When determining if a syserr is a fatal error or
>>> not, the intvec handler is using the cached version, when it should be
>>> using the current ee read from the device.  Currently, the device could
>>> be in the PBL ee as the result of a fatal error, but the cached ee might
>>> be AMSS, which would cause the intvec handler to incorrectly signal a
>>> non-fatal syserr.
>>>
>>> Fixes: 3000f85b8f47 ("bus: mhi: core: Add support for basic PM 
>>> operations")
>>> Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
>>
>> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
>>
>> Thanks,
>> Mani
>>
>>> ---
>>>  drivers/bus/mhi/core/main.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/bus/mhi/core/main.c b/drivers/bus/mhi/core/main.c
>>> index 4e0131b..f182736 100644
>>> --- a/drivers/bus/mhi/core/main.c
>>> +++ b/drivers/bus/mhi/core/main.c
>>> @@ -448,7 +448,7 @@ irqreturn_t mhi_intvec_threaded_handler(int 
>>> irq_number, void *priv)
>>>          wake_up_all(&mhi_cntrl->state_event);
>>>
>>>          /* For fatal errors, we let controller decide next step */
>>> -        if (MHI_IN_PBL(ee))
>>> +        if (MHI_IN_PBL(mhi_cntrl->ee))
>>>              mhi_cntrl->status_cb(mhi_cntrl, MHI_CB_FATAL_ERROR);
>>>          else
>>>              mhi_pm_sys_err_handler(mhi_cntrl);
>>> -- 
>>> Qualcomm Technologies, Inc. is a member of the
>>> Code Aurora Forum, a Linux Foundation Collaborative Project.
>>>
> 
> This was being fixed by my patch series for execution environment.
> 
> I should just send the most important of my patches as one line fixers 
> from now on.

Its been an issue for some 9 months now.  I really don't care how it 
gets fixed, but it seems to be past time for it to be fixed.

Sending simple little fixes on their own seems to accelerate the review 
process of those fixes, and doesn't hold them back if some "dependency" 
in a series has comments which need to be fixed.  It is a judgement call 
to determine if a set of fixes should be sent together or not, but I 
personally try to send individual patches when I can.

-- 
Jeffrey Hugo
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-02-16 17:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-13  0:40 [PATCH] bus: mhi: core: Use current ee in intvec handler for syserr Jeffrey Hugo
2021-02-15  7:21 ` Loic Poulain
2021-02-16  7:32 ` Manivannan Sadhasivam
2021-02-16 17:36   ` Bhaumik Bhatt
2021-02-16 17:55     ` Jeffrey Hugo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.