summaryrefslogtreecommitdiffstats
path: root/drivers/connector
diff options
context:
space:
mode:
authorLi Zefan <lizf@cn.fujitsu.com>2008-01-04 10:52:02 +0100
committerDavid S. Miller <davem@davemloft.net>2008-01-04 12:55:37 +0100
commit134d99e302618eeb102c2a5be1f9e98696288bdd (patch)
treec3f3b5e7e08d43b000d2dc2db31c4111bfb4ad40 /drivers/connector
parent[INET]: Fix netdev renaming and inet address labels (diff)
downloadlinux-134d99e302618eeb102c2a5be1f9e98696288bdd.tar.xz
linux-134d99e302618eeb102c2a5be1f9e98696288bdd.zip
[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 <lizf@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/connector')
-rw-r--r--drivers/connector/connector.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/connector/connector.c b/drivers/connector/connector.c
index 6883fcb79ad3..bf9716b75513 100644
--- a/drivers/connector/connector.c
+++ b/drivers/connector/connector.c
@@ -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;