]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: gadget: fsl_qe_udc: signedness bug in qe_get_frame()
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 15 Jul 2016 11:15:47 +0000 (14:15 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 20 Nov 2016 01:17:15 +0000 (01:17 +0000)
commit f4693b08cc901912a87369c46537b94ed4084ea0 upstream.

We can't assign -EINVAL to a u16.

Fixes: 3948f0e0c999 ('usb: add Freescale QE/CPM USB peripheral controller driver')
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
[bwh: Backported to 3.16: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/usb/gadget/fsl_qe_udc.c

index 5d8d4e99c3d452a7a7a0a9832201d008125a4bb4..8214773321efb9c63acb9d98637717f8b2e35148 100644 (file)
@@ -1881,11 +1881,8 @@ static int qe_get_frame(struct usb_gadget *gadget)
 
        tmp = in_be16(&udc->usb_param->frame_n);
        if (tmp & 0x8000)
-               tmp = tmp & 0x07ff;
-       else
-               tmp = -EINVAL;
-
-       return (int)tmp;
+               return tmp & 0x07ff;
+       return -EINVAL;
 }
 
 static int fsl_qe_start(struct usb_gadget *gadget,