Hello Yoshihiro Shimoda,
The patch c41442474a26: "usb: gadget: R8A66597 peripheral controller
support." from Aug 19, 2009, leads to the following static checker
warning:
drivers/usb/gadget/udc/r8a66597-udc.c:1942 r8a66597_probe()
warn: integer overflow: (-1) * 2
drivers/usb/gadget/udc/r8a66597-udc.c
1936 }
1937 usb_ep_set_maxpacket_limit(&r8a66597->ep[0].ep, 64);
1938 r8a66597->ep[0].pipenum = 0;
1939 r8a66597->ep[0].fifoaddr = CFIFO;
1940 r8a66597->ep[0].fifosel = CFIFOSEL;
1941 r8a66597->ep[0].fifoctr = CFIFOCTR;
1942 r8a66597->ep[0].pipectr = get_pipectr_addr(0);
^^^^^^^^^^^^^^^^^^^
#define get_pipectr_addr(pipenum) (M66592_PIPE1CTR + (pipenum - 1) * 2)
It's not normally valid to pass 0 to get_pipectr_addr() because it ends
up that we assign "r8a66597->ep[0].pipectr = M66592_PIPE1CTR - 2".
1943 r8a66597->pipenum2ep[0] = &r8a66597->ep[0];
1944 r8a66597->epaddr2ep[0] = &r8a66597->ep[0];
1945
Also:
drivers/usb/gadget/udc/m66592-udc.c:1653 m66592_probe()
warn: integer overflow: (-1) * 2
drivers/usb/gadget/udc/m66592-udc.c
1647 usb_ep_set_maxpacket_limit(&m66592->ep[0].ep, 64);
1648 m66592->ep[0].pipenum = 0;
1649 m66592->ep[0].fifoaddr = M66592_CFIFO;
1650 m66592->ep[0].fifosel = M66592_CFIFOSEL;
1651 m66592->ep[0].fifoctr = M66592_CFIFOCTR;
1652 m66592->ep[0].fifotrn = 0;
1653 m66592->ep[0].pipectr = get_pipectr_addr(0);
1654 m66592->pipenum2ep[0] = &m66592->ep[0];
1655 m66592->epaddr2ep[0] = &m66592->ep[0];
regards,
dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html