Messages in this thread | | | Date | Thu, 7 Jun 2012 16:23:18 +0200 (CEST) | From | Julia Lawall <> | Subject | Re: [PATCH 3/7] drivers/usb/gadget/pch_udc.c: adjust suspicious bit operation |
| |
On Thu, 7 Jun 2012, Sergei Shtylyov wrote:
> Hello. > > On 07-06-2012 1:41, Julia Lawall wrote: > >> From: Julia Lawall <Julia.Lawall@lip6.fr> > >> PCH_UDC_DMA_LAST is 0x08000000 so a bit-or with this value always gives a >> nonzero result. The test is rewritten as done elsewhere in the same file. > >> This problem was found using Coccinelle (http://coccinelle.lip6.fr/). > >> Signed-off-by: Julia Lawall<julia@diku.dk> > >> --- >> drivers/usb/gadget/pch_udc.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/usb/gadget/pch_udc.c b/drivers/usb/gadget/pch_udc.c >> index 1cfcc9e..79f7a53 100644 >> --- a/drivers/usb/gadget/pch_udc.c >> +++ b/drivers/usb/gadget/pch_udc.c >> @@ -2208,7 +2208,8 @@ static void pch_udc_complete_receiver(struct >> pch_udc_ep *ep) >> return; >> } >> if ((td->status& PCH_UDC_BUFF_STS) == PCH_UDC_BS_DMA_DONE) >> - if (td->status | PCH_UDC_DMA_LAST) { >> + if ((td_data->status& PCH_UDC_DMA_LAST) >> + == PCH_UDC_DMA_LAST) { > > But why not simply: > > if (td_data->status & PCH_UDC_DMA_LAST) > > if the constant is single bit anyway? And are you sure about s/td/td_data/?
Oops, thanks for noticing that. I'll send a corrected version.
thanks, julia
| |