usb: renesas_usbhs: fix error return code of usbhsf_pkt_handler()
authorJia-Ju Bai <baijiaju1990@gmail.com>
Sun, 7 Mar 2021 09:00:30 +0000 (01:00 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 23 Mar 2021 11:42:15 +0000 (12:42 +0100)
When __usbhsf_pkt_get() returns NULL to pkt, no error return code of
usbhsf_pkt_handler() is assigned.
To fix this bug, ret is assigned with -EINVAL in this case.

Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Link: https://lore.kernel.org/r/20210307090030.22369-1-baijiaju1990@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/renesas_usbhs/fifo.c

index e6fa13701808247542ea6905a0659b194f466fd8..b5e7991dc7d9e537fac334464afb4a518577f522 100644 (file)
@@ -160,8 +160,10 @@ static int usbhsf_pkt_handler(struct usbhs_pipe *pipe, int type)
        usbhs_lock(priv, flags);
 
        pkt = __usbhsf_pkt_get(pipe);
-       if (!pkt)
+       if (!pkt) {
+               ret = -EINVAL;
                goto __usbhs_pkt_handler_end;
+       }
 
        switch (type) {
        case USBHSF_PKT_PREPARE: