[CONNECTOR]: Return proper error code in cn_call_callback()
authorLi Zefan <lizf@cn.fujitsu.com>
Fri, 4 Jan 2008 09:52:02 +0000 (01:52 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 4 Jan 2008 11:55:37 +0000 (03:55 -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 <lizf@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/connector/connector.c

index 6883fcb79ad35d27cd3eb5d65d2f6eaab82ded4c..bf9716b75513d957a79e8836d8a127295d86f4d4 100644 (file)
@@ -145,6 +145,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;