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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/