On 32-bit systems, the 32-bit-wide buf can never exceed 0xffffffff, so this resulted in a warning. Fix this by using upper_32_bits() instead, which is also easier to read. Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- drivers/usb/gadget/udc/fsl_udc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/gadget/udc/fsl_udc.c b/drivers/usb/gadget/udc/fsl_udc.c index e1d0d0b48272..30f4da0c41e7 100644 --- a/drivers/usb/gadget/udc/fsl_udc.c +++ b/drivers/usb/gadget/udc/fsl_udc.c @@ -780,7 +780,7 @@ static struct ep_td_struct *fsl_build_dtd(struct fsl_req *req, /* Init all of buffer page pointers */ buf = (unsigned long)req->req.buf; - if (buf > 0xffffffff) { + if (upper_32_bits(buf)) { pr_err("Only 32bit supported\n"); return NULL; } -- 2.39.5