public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] staging: vme: fix error return code in vme_user_probe()
@ 2013-05-13  6:05 Wei Yongjun
  2013-05-13  8:16 ` Martyn Welch
  0 siblings, 1 reply; 6+ messages in thread
From: Wei Yongjun @ 2013-05-13  6:05 UTC (permalink / raw)
  To: martyn.welch, manohar.vanga, gregkh, wfp5p, yamanetoshi,
	gmate.amit, joe
  Cc: yongjun_wei, devel, linux-kernel

From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>

Fix to return -ENOMEM in the resource alloc error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
---
 drivers/staging/vme/devices/vme_user.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/staging/vme/devices/vme_user.c b/drivers/staging/vme/devices/vme_user.c
index da7f759..5fe224d3 100644
--- a/drivers/staging/vme/devices/vme_user.c
+++ b/drivers/staging/vme/devices/vme_user.c
@@ -734,6 +734,7 @@ static int vme_user_probe(struct vme_dev *vdev)
 		if (image[i].resource == NULL) {
 			dev_warn(&vdev->dev,
 				 "Unable to allocate slave resource\n");
+			err = -ENOMEM;
 			goto err_slave;
 		}
 		image[i].size_buf = PCI_BUF_SIZE;
@@ -760,6 +761,7 @@ static int vme_user_probe(struct vme_dev *vdev)
 		if (image[i].resource == NULL) {
 			dev_warn(&vdev->dev,
 				 "Unable to allocate master resource\n");
+			err = -ENOMEM;
 			goto err_master;
 		}
 		image[i].size_buf = PCI_BUF_SIZE;


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

* Re: [PATCH] staging: vme: fix error return code in vme_user_probe()
  2013-05-13  6:05 [PATCH] staging: vme: fix error return code in vme_user_probe() Wei Yongjun
@ 2013-05-13  8:16 ` Martyn Welch
  2013-05-13  8:51   ` Dan Carpenter
  0 siblings, 1 reply; 6+ messages in thread
From: Martyn Welch @ 2013-05-13  8:16 UTC (permalink / raw)
  To: Wei Yongjun
  Cc: manohar.vanga, gregkh, wfp5p, yamanetoshi, gmate.amit, joe,
	yongjun_wei, devel, linux-kernel

On 13/05/13 07:05, Wei Yongjun wrote:
> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
> 
> Fix to return -ENOMEM in the resource alloc error handling
> case instead of 0, as done elsewhere in this function.
> 

Hi Wei,

Thanks for your patch. As this is resource allocation rather than memory
allocation that is failing, would -EAGAIN not make more sense than -ENOMEM?

Martyn

> Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
> ---
>  drivers/staging/vme/devices/vme_user.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/staging/vme/devices/vme_user.c b/drivers/staging/vme/devices/vme_user.c
> index da7f759..5fe224d3 100644
> --- a/drivers/staging/vme/devices/vme_user.c
> +++ b/drivers/staging/vme/devices/vme_user.c
> @@ -734,6 +734,7 @@ static int vme_user_probe(struct vme_dev *vdev)
>  		if (image[i].resource == NULL) {
>  			dev_warn(&vdev->dev,
>  				 "Unable to allocate slave resource\n");
> +			err = -ENOMEM;
>  			goto err_slave;
>  		}
>  		image[i].size_buf = PCI_BUF_SIZE;
> @@ -760,6 +761,7 @@ static int vme_user_probe(struct vme_dev *vdev)
>  		if (image[i].resource == NULL) {
>  			dev_warn(&vdev->dev,
>  				 "Unable to allocate master resource\n");
> +			err = -ENOMEM;
>  			goto err_master;
>  		}
>  		image[i].size_buf = PCI_BUF_SIZE;
> 


-- 
Martyn Welch (Lead Software Engineer)  | Registered in England and Wales
GE Intelligent Platforms               | (3828642) at 100 Barbirolli Square
T +44(0)1327322748                     | Manchester, M2 3AB
E martyn.welch@ge.com                  | VAT:GB 927559189

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

* Re: [PATCH] staging: vme: fix error return code in vme_user_probe()
  2013-05-13  8:16 ` Martyn Welch
@ 2013-05-13  8:51   ` Dan Carpenter
  2013-05-14 13:56     ` Martyn Welch
  0 siblings, 1 reply; 6+ messages in thread
From: Dan Carpenter @ 2013-05-13  8:51 UTC (permalink / raw)
  To: Martyn Welch
  Cc: Wei Yongjun, gmate.amit, devel, manohar.vanga, gregkh,
	linux-kernel, yamanetoshi, yongjun_wei, joe

On Mon, May 13, 2013 at 09:16:00AM +0100, Martyn Welch wrote:
> On 13/05/13 07:05, Wei Yongjun wrote:
> > From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
> > 
> > Fix to return -ENOMEM in the resource alloc error handling
> > case instead of 0, as done elsewhere in this function.
> > 
> 
> Hi Wei,
> 
> Thanks for your patch. As this is resource allocation rather than memory
> allocation that is failing, would -EAGAIN not make more sense than -ENOMEM?
> 

ENOMEM is better.  EAGAIN is for when trylock() fails etc.  In other
words we are not allowed to block and someone is using the lock we
need.

It feels like we discuss error codes a lot on LKML and they should
be documented under Documententation/.  The closest thing is
Documentation/i2c/fault-codes.

regards,
dan carpenter

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

* Re: [PATCH] staging: vme: fix error return code in vme_user_probe()
  2013-05-13  8:51   ` Dan Carpenter
@ 2013-05-14 13:56     ` Martyn Welch
  2013-05-14 14:19       ` Dan Carpenter
  0 siblings, 1 reply; 6+ messages in thread
From: Martyn Welch @ 2013-05-14 13:56 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: Wei Yongjun, gmate.amit, devel, manohar.vanga, gregkh,
	linux-kernel, yamanetoshi, yongjun_wei, joe

On 13/05/13 09:51, Dan Carpenter wrote:
> On Mon, May 13, 2013 at 09:16:00AM +0100, Martyn Welch wrote:
>> On 13/05/13 07:05, Wei Yongjun wrote:
>>> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>>>
>>> Fix to return -ENOMEM in the resource alloc error handling
>>> case instead of 0, as done elsewhere in this function.
>>>
>>
>> Hi Wei,
>>
>> Thanks for your patch. As this is resource allocation rather than memory
>> allocation that is failing, would -EAGAIN not make more sense than -ENOMEM?
>>
> 
> ENOMEM is better.  EAGAIN is for when trylock() fails etc.  In other
> words we are not allowed to block and someone is using the lock we
> need.
> 

ENOMEM just doesn't seem to describe the error very well. This error will be
triggered if no free VME windows are available for the driver to use - there
are typically 8 master and 8 slave windows provided in hardware.

How about EBUSY (Device or resource busy)?

> It feels like we discuss error codes a lot on LKML and they should
> be documented under Documententation/.  The closest thing is
> Documentation/i2c/fault-codes.
> 

I'd been looking at the errno man page since I was under the impression that
these values would typically find their way back to user space.

Martyn

-- 
Martyn Welch (Lead Software Engineer)  | Registered in England and Wales
GE Intelligent Platforms               | (3828642) at 100 Barbirolli Square
T +44(0)1327322748                     | Manchester, M2 3AB
E martyn.welch@ge.com                  | VAT:GB 927559189

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

* Re: [PATCH] staging: vme: fix error return code in vme_user_probe()
  2013-05-14 13:56     ` Martyn Welch
@ 2013-05-14 14:19       ` Dan Carpenter
  2013-05-15  7:56         ` Martyn Welch
  0 siblings, 1 reply; 6+ messages in thread
From: Dan Carpenter @ 2013-05-14 14:19 UTC (permalink / raw)
  To: Martyn Welch
  Cc: Wei Yongjun, gmate.amit, devel, manohar.vanga, gregkh,
	linux-kernel, yamanetoshi, yongjun_wei, joe

On Tue, May 14, 2013 at 02:56:17PM +0100, Martyn Welch wrote:
> On 13/05/13 09:51, Dan Carpenter wrote:
> > On Mon, May 13, 2013 at 09:16:00AM +0100, Martyn Welch wrote:
> >> On 13/05/13 07:05, Wei Yongjun wrote:
> >>> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
> >>>
> >>> Fix to return -ENOMEM in the resource alloc error handling
> >>> case instead of 0, as done elsewhere in this function.
> >>>
> >>
> >> Hi Wei,
> >>
> >> Thanks for your patch. As this is resource allocation rather than memory
> >> allocation that is failing, would -EAGAIN not make more sense than -ENOMEM?
> >>
> > 
> > ENOMEM is better.  EAGAIN is for when trylock() fails etc.  In other
> > words we are not allowed to block and someone is using the lock we
> > need.
> > 
> 
> ENOMEM just doesn't seem to describe the error very well. This error will be
> triggered if no free VME windows are available for the driver to use - there
> are typically 8 master and 8 slave windows provided in hardware.
> 
> How about EBUSY (Device or resource busy)?

EBUSY would work.

regards,
dan carpenter


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

* Re: [PATCH] staging: vme: fix error return code in vme_user_probe()
  2013-05-14 14:19       ` Dan Carpenter
@ 2013-05-15  7:56         ` Martyn Welch
  0 siblings, 0 replies; 6+ messages in thread
From: Martyn Welch @ 2013-05-15  7:56 UTC (permalink / raw)
  To: Wei Yongjun
  Cc: Dan Carpenter, gmate.amit, devel, manohar.vanga, gregkh,
	linux-kernel, yamanetoshi, yongjun_wei, joe

On 14/05/13 15:19, Dan Carpenter wrote:
> On Tue, May 14, 2013 at 02:56:17PM +0100, Martyn Welch wrote:
>> On 13/05/13 09:51, Dan Carpenter wrote:
>>> On Mon, May 13, 2013 at 09:16:00AM +0100, Martyn Welch wrote:
>>>> On 13/05/13 07:05, Wei Yongjun wrote:
>>>>> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>>>>>
>>>>> Fix to return -ENOMEM in the resource alloc error handling
>>>>> case instead of 0, as done elsewhere in this function.
>>>>>
>>>>
>>>> Hi Wei,
>>>>
>>>> Thanks for your patch. As this is resource allocation rather than memory
>>>> allocation that is failing, would -EAGAIN not make more sense than -ENOMEM?
>>>>
>>>
>>> ENOMEM is better.  EAGAIN is for when trylock() fails etc.  In other
>>> words we are not allowed to block and someone is using the lock we
>>> need.
>>>
>>
>> ENOMEM just doesn't seem to describe the error very well. This error will be
>> triggered if no free VME windows are available for the driver to use - there
>> are typically 8 master and 8 slave windows provided in hardware.
>>
>> How about EBUSY (Device or resource busy)?
> 
> EBUSY would work.
> 

Hi Wei,

Would you mind resubmitting your patch returning the error code EBUSY rather
than ENOMEM?

Martyn

-- 
Martyn Welch (Lead Software Engineer)  | Registered in England and Wales
GE Intelligent Platforms               | (3828642) at 100 Barbirolli Square
T +44(0)1327322748                     | Manchester, M2 3AB
E martyn.welch@ge.com                  | VAT:GB 927559189

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

end of thread, other threads:[~2013-05-15  7:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-13  6:05 [PATCH] staging: vme: fix error return code in vme_user_probe() Wei Yongjun
2013-05-13  8:16 ` Martyn Welch
2013-05-13  8:51   ` Dan Carpenter
2013-05-14 13:56     ` Martyn Welch
2013-05-14 14:19       ` Dan Carpenter
2013-05-15  7:56         ` Martyn Welch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox