2008-01-04 05:58:26

by Li Zefan

[permalink] [raw]
Subject: [PATCH 5/5] CONNECTOR: return proper error code in cn_call_callback()


Error code should be set to EINVAL instead of ENODEV if !queue_work().
There's another call of queue_work() which may set err to EINVAL.

Signed-off-by: Li Zefan <[email protected]>

---
drivers/connector/connector.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/connector/connector.c b/drivers/connector/connector.c
index 865303b..37976dc 100644
--- a/drivers/connector/connector.c
+++ b/drivers/connector/connector.c
@@ -146,6 +146,8 @@ static int cn_call_callback(struct cn_msg *msg, void (*destruct_data)(void *), v
if (queue_work(dev->cbdev->cn_queue,
&__cbq->work))
err = 0;
+ else
+ err = -EINVAL;
} else {
struct cn_callback_data *d;

--
1.5.3.rc7


2008-01-04 09:51:36

by David Miller

[permalink] [raw]
Subject: Re: [PATCH 5/5] CONNECTOR: return proper error code in cn_call_callback()

From: Li Zefan <[email protected]>
Date: Fri, 04 Jan 2008 13:53:05 +0800

> Error code should be set to EINVAL instead of ENODEV if !queue_work().
> There's another call of queue_work() which may set err to EINVAL.
>
> Signed-off-by: Li Zefan <[email protected]>

This one is a bug fix so I'll apply it to net-2.6 and push
to Linus.

The rest are cleanups which I'll queue up for 2.6.25

Thanks.

2008-01-05 15:26:12

by Evgeniy Polyakov

[permalink] [raw]
Subject: Re: [PATCH 5/5] CONNECTOR: return proper error code in cn_call_callback()

Hi.

Sorry for long reply.

On Fri, Jan 04, 2008 at 01:51:25AM -0800, David Miller ([email protected]) wrote:
> > Error code should be set to EINVAL instead of ENODEV if !queue_work().
> > There's another call of queue_work() which may set err to EINVAL.
> >
> > Signed-off-by: Li Zefan <[email protected]>
>
> This one is a bug fix so I'll apply it to net-2.6 and push
> to Linus.
>
> The rest are cleanups which I'll queue up for 2.6.25

Although I'm not sure changing error from nodev to inval is a bug fix :),
I have no problem with pushing it first.
Loop above will break out after first matched id, so it will never call
the path, which can change error, again.

Thanks a lot for patches and quick merge!

--
Evgeniy Polyakov