From: Pan Bian Date: Tue, 29 Nov 2016 12:56:10 +0000 (+0800) Subject: usb: fix improper return value when kzalloc fails X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7faf44bf925531478f5862002d6291893a3b9ba3;p=linux-beck.git usb: fix improper return value when kzalloc fails The comment says function wa_nep_queue() should return 0 if ok, and <0 errno code on error. However, its implementation always returns 0, even if the call to kzalloc() fails. As a result, the return value may be inconsistent with the execution status, which may mislead the callers. This patch fixes the bug, returning -ENOMEM when the call to kzalloc() fails. Signed-off-by: Pan Bian Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/wusbcore/wa-nep.c b/drivers/usb/wusbcore/wa-nep.c index ed4622279c63..e3819fc182b0 100644 --- a/drivers/usb/wusbcore/wa-nep.c +++ b/drivers/usb/wusbcore/wa-nep.c @@ -198,6 +198,7 @@ static int wa_nep_queue(struct wahc *wa, size_t size) if (nw == NULL) { if (printk_ratelimit()) dev_err(dev, "No memory to queue notification\n"); + result = -ENOMEM; goto out; } INIT_WORK(&nw->work, wa_notif_dispatch);