Thread (23 messages) flat view 23 messages, 8 authors, 2012-06-12

Re: [PATCH 3/7] drivers/usb/gadget/pch_udc.c: adjust suspicious bit operation

From: Sergei Shtylyov <hidden>
Date: 2012-06-07 13:01:28
Also in: lkml

Hello.

On 07-06-2012 1:41, Julia Lawall wrote:
From: Julia Lawall <redacted>
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<redacted>
quoted hunk ↗ jump to hunk
---
  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/?

WBR, Sergei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help