Messages in this thread Patch in this message | | | Date | Thu, 29 Jan 2015 17:46:33 -0600 | Subject | Re: [PATCH] staging: emxx_udc: emxx_udc: Removed variables that is never used | From | Chris Rorvick <> |
| |
On Thu, Jan 29, 2015 at 3:52 PM, Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se> wrote: > The last one was more interesting, se below. > But I can not really see how any error should be handled here? > Proposal to change to: > > if (kstrtol(tempbuf, 16, &num) == 0 && num == 0)
That whole chunk of code looks odd. Why the base 16 conversion when we already know it's a decimal digit? Seems like this would work without the hassle of the string conversion:
-- >8 --
--- a/drivers/staging/emxx_udc/emxx_udc.c +++ b/drivers/staging/emxx_udc/emxx_udc.c @@ -3262,16 +3262,7 @@ static void __init nbu2ss_drv_set_ep_info( ep->ep.ops = &nbu2ss_ep_ops;
if (isdigit(name[2])) { - - long num; - int res; - char tempbuf[2]; - - tempbuf[0] = name[2]; - tempbuf[1] = '\0'; - res = kstrtol(tempbuf, 16, &num); - - if (num == 0) + if (name[2] == '0') ep->ep.maxpacket = EP0_PACKETSIZE; else ep->ep.maxpacket = EP_PACKETSIZE;
| |