All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mhi_bus: core: Return EBUSY if MHI ring is full
@ 2021-02-16 18:48 Jeffrey Hugo
  2021-02-16 20:22 ` Bhaumik Bhatt
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Jeffrey Hugo @ 2021-02-16 18:48 UTC (permalink / raw)
  To: manivannan.sadhasivam, hemantk
  Cc: bbhatt, linux-arm-msm, linux-kernel, Fan Wu, Jeffrey Hugo

From: Fan Wu <wufan@codeaurora.org>

Currently ENOMEM is returned when MHI ring is full. This error code is
very misleading. Change to EBUSY instead.

Signed-off-by: Fan Wu <wufan@codeaurora.org>
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 f182736..21eb5fc 100644
--- a/drivers/bus/mhi/core/main.c
+++ b/drivers/bus/mhi/core/main.c
@@ -996,7 +996,7 @@ static int mhi_queue(struct mhi_device *mhi_dev, struct mhi_buf_info *buf_info,
 
 	ret = mhi_is_ring_full(mhi_cntrl, tre_ring);
 	if (unlikely(ret)) {
-		ret = -ENOMEM;
+		ret = -EBUSY;
 		goto exit_unlock;
 	}
 
-- 
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.


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

* Re: [PATCH] mhi_bus: core: Return EBUSY if MHI ring is full
  2021-02-16 18:48 [PATCH] mhi_bus: core: Return EBUSY if MHI ring is full Jeffrey Hugo
@ 2021-02-16 20:22 ` Bhaumik Bhatt
  2021-02-16 20:53   ` Jeffrey Hugo
  2021-02-17  3:26 ` Manivannan Sadhasivam
  2021-02-17 15:02 ` Loic Poulain
  2 siblings, 1 reply; 7+ messages in thread
From: Bhaumik Bhatt @ 2021-02-16 20:22 UTC (permalink / raw)
  To: Jeffrey Hugo
  Cc: manivannan.sadhasivam, hemantk, linux-arm-msm, linux-kernel,
	Fan Wu, jhugo=codeaurora.org

On 2021-02-16 10:48 AM, Jeffrey Hugo wrote:
> From: Fan Wu <wufan@codeaurora.org>
> 
> Currently ENOMEM is returned when MHI ring is full. This error code is
> very misleading. Change to EBUSY instead.
> 
> Signed-off-by: Fan Wu <wufan@codeaurora.org>
> 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 f182736..21eb5fc 100644
> --- a/drivers/bus/mhi/core/main.c
> +++ b/drivers/bus/mhi/core/main.c
> @@ -996,7 +996,7 @@ static int mhi_queue(struct mhi_device *mhi_dev,
> struct mhi_buf_info *buf_info,
> 
>  	ret = mhi_is_ring_full(mhi_cntrl, tre_ring);
>  	if (unlikely(ret)) {
> -		ret = -ENOMEM;
> +		ret = -EBUSY;
>  		goto exit_unlock;
>  	}

ENOMEM is descriptive of the state of the ring since you basically 
cannot queue any
more packets as no memory is currently available.

But I agree, it can be misleading for this API. How about EAGAIN in 
place of EBUSY,
which tells the user to try the queue attempt again implying memory 
should become
available as more elements are consumed by the device/client?

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] 7+ messages in thread

* Re: [PATCH] mhi_bus: core: Return EBUSY if MHI ring is full
  2021-02-16 20:22 ` Bhaumik Bhatt
@ 2021-02-16 20:53   ` Jeffrey Hugo
  0 siblings, 0 replies; 7+ messages in thread
From: Jeffrey Hugo @ 2021-02-16 20:53 UTC (permalink / raw)
  To: bbhatt
  Cc: manivannan.sadhasivam, hemantk, linux-arm-msm, linux-kernel,
	Fan Wu, jhugo=codeaurora.org

On 2/16/2021 1:22 PM, Bhaumik Bhatt wrote:
> On 2021-02-16 10:48 AM, Jeffrey Hugo wrote:
>> From: Fan Wu <wufan@codeaurora.org>
>>
>> Currently ENOMEM is returned when MHI ring is full. This error code is
>> very misleading. Change to EBUSY instead.
>>
>> Signed-off-by: Fan Wu <wufan@codeaurora.org>
>> 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 f182736..21eb5fc 100644
>> --- a/drivers/bus/mhi/core/main.c
>> +++ b/drivers/bus/mhi/core/main.c
>> @@ -996,7 +996,7 @@ static int mhi_queue(struct mhi_device *mhi_dev,
>> struct mhi_buf_info *buf_info,
>>
>>      ret = mhi_is_ring_full(mhi_cntrl, tre_ring);
>>      if (unlikely(ret)) {
>> -        ret = -ENOMEM;
>> +        ret = -EBUSY;
>>          goto exit_unlock;
>>      }
> 
> ENOMEM is descriptive of the state of the ring since you basically 
> cannot queue any
> more packets as no memory is currently available.
> 
> But I agree, it can be misleading for this API. How about EAGAIN in 
> place of EBUSY,
> which tells the user to try the queue attempt again implying memory 
> should become
> available as more elements are consumed by the device/client?

Fan and I think EAGAIN is fine.  Will send a v2.

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

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

* Re: [PATCH] mhi_bus: core: Return EBUSY if MHI ring is full
  2021-02-16 18:48 [PATCH] mhi_bus: core: Return EBUSY if MHI ring is full Jeffrey Hugo
  2021-02-16 20:22 ` Bhaumik Bhatt
@ 2021-02-17  3:26 ` Manivannan Sadhasivam
  2021-02-17 15:02 ` Loic Poulain
  2 siblings, 0 replies; 7+ messages in thread
From: Manivannan Sadhasivam @ 2021-02-17  3:26 UTC (permalink / raw)
  To: Jeffrey Hugo; +Cc: hemantk, bbhatt, linux-arm-msm, linux-kernel, Fan Wu

On Tue, Feb 16, 2021 at 11:48:34AM -0700, Jeffrey Hugo wrote:
> From: Fan Wu <wufan@codeaurora.org>
> 
> Currently ENOMEM is returned when MHI ring is full. This error code is
> very misleading. Change to EBUSY instead.
> 

Please use the subject prefix:

"bus: mhi: ..."

Thanks,
Mani

> Signed-off-by: Fan Wu <wufan@codeaurora.org>
> 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 f182736..21eb5fc 100644
> --- a/drivers/bus/mhi/core/main.c
> +++ b/drivers/bus/mhi/core/main.c
> @@ -996,7 +996,7 @@ static int mhi_queue(struct mhi_device *mhi_dev, struct mhi_buf_info *buf_info,
>  
>  	ret = mhi_is_ring_full(mhi_cntrl, tre_ring);
>  	if (unlikely(ret)) {
> -		ret = -ENOMEM;
> +		ret = -EBUSY;
>  		goto exit_unlock;
>  	}
>  
> -- 
> Qualcomm Technologies, Inc. is a member of the
> Code Aurora Forum, a Linux Foundation Collaborative Project.
> 

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

* Re: [PATCH] mhi_bus: core: Return EBUSY if MHI ring is full
  2021-02-16 18:48 [PATCH] mhi_bus: core: Return EBUSY if MHI ring is full Jeffrey Hugo
  2021-02-16 20:22 ` Bhaumik Bhatt
  2021-02-17  3:26 ` Manivannan Sadhasivam
@ 2021-02-17 15:02 ` Loic Poulain
  2021-02-17 15:06   ` Jeffrey Hugo
  2 siblings, 1 reply; 7+ messages in thread
From: Loic Poulain @ 2021-02-17 15:02 UTC (permalink / raw)
  To: Jeffrey Hugo
  Cc: Manivannan Sadhasivam, Hemant Kumar, Bhaumik Bhatt,
	linux-arm-msm, open list, Fan Wu

On Tue, 16 Feb 2021 at 19:50, Jeffrey Hugo <jhugo@codeaurora.org> wrote:
>
> From: Fan Wu <wufan@codeaurora.org>
>
> Currently ENOMEM is returned when MHI ring is full. This error code is
> very misleading. Change to EBUSY instead.

Well, there is no space left in the ring, so it's no so misleading.

Regards,
Loic

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

* Re: [PATCH] mhi_bus: core: Return EBUSY if MHI ring is full
  2021-02-17 15:02 ` Loic Poulain
@ 2021-02-17 15:06   ` Jeffrey Hugo
  2021-02-17 16:14     ` Loic Poulain
  0 siblings, 1 reply; 7+ messages in thread
From: Jeffrey Hugo @ 2021-02-17 15:06 UTC (permalink / raw)
  To: Loic Poulain
  Cc: Manivannan Sadhasivam, Hemant Kumar, Bhaumik Bhatt,
	linux-arm-msm, open list, Fan Wu

On 2/17/2021 8:02 AM, Loic Poulain wrote:
> On Tue, 16 Feb 2021 at 19:50, Jeffrey Hugo <jhugo@codeaurora.org> wrote:
>>
>> From: Fan Wu <wufan@codeaurora.org>
>>
>> Currently ENOMEM is returned when MHI ring is full. This error code is
>> very misleading. Change to EBUSY instead.
> 
> Well, there is no space left in the ring, so it's no so misleading.

ENOMEM is typically a memory allocation failure which is not what a 
client is going to think of regarding the ring, and it's not a unique 
failure code in this case.  gen_tre can also return ENOMEM, which makes 
it difficult for the client to know if there is some significant 
failure, or they might just need to wait (assuming that is something the 
client can do).

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

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

* Re: [PATCH] mhi_bus: core: Return EBUSY if MHI ring is full
  2021-02-17 15:06   ` Jeffrey Hugo
@ 2021-02-17 16:14     ` Loic Poulain
  0 siblings, 0 replies; 7+ messages in thread
From: Loic Poulain @ 2021-02-17 16:14 UTC (permalink / raw)
  To: Jeffrey Hugo
  Cc: Manivannan Sadhasivam, Hemant Kumar, Bhaumik Bhatt,
	linux-arm-msm, open list, Fan Wu

On Wed, 17 Feb 2021 at 16:06, Jeffrey Hugo <jhugo@codeaurora.org> wrote:
>
> On 2/17/2021 8:02 AM, Loic Poulain wrote:
> > On Tue, 16 Feb 2021 at 19:50, Jeffrey Hugo <jhugo@codeaurora.org> wrote:
> >>
> >> From: Fan Wu <wufan@codeaurora.org>
> >>
> >> Currently ENOMEM is returned when MHI ring is full. This error code is
> >> very misleading. Change to EBUSY instead.
> >
> > Well, there is no space left in the ring, so it's no so misleading.
>
> ENOMEM is typically a memory allocation failure which is not what a
> client is going to think of regarding the ring, and it's not a unique
> failure code in this case.  gen_tre can also return ENOMEM, which makes
> it difficult for the client to know if there is some significant
> failure, or they might just need to wait (assuming that is something the
> client can do).

Yes, fair enough, I overlooked the other thread, -EAGAIN would indeed
make sense.

Regards,
Loic

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

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

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-16 18:48 [PATCH] mhi_bus: core: Return EBUSY if MHI ring is full Jeffrey Hugo
2021-02-16 20:22 ` Bhaumik Bhatt
2021-02-16 20:53   ` Jeffrey Hugo
2021-02-17  3:26 ` Manivannan Sadhasivam
2021-02-17 15:02 ` Loic Poulain
2021-02-17 15:06   ` Jeffrey Hugo
2021-02-17 16:14     ` Loic Poulain

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.