Re: staging: ozwpan: Added USB HCD implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 29, 2013 at 04:33:20PM +0000, Rupesh Gujare wrote:
> On 28/01/13 13:16, Dan Carpenter wrote:
> >The patch ae926051d7eb: "staging: ozwpan: Added USB HCD
> >implementation" from Feb 20, 2012, leads to the following warning:
> >drivers/staging/ozwpan/ozhcd.c:1094 oz_hcd_heartbeat()
> >	 warn: what is this condition about? 'ep->buffered_units * 50'
> >
> >drivers/staging/ozwpan/ozhcd.c
> >   1088          /* Check the IN isoc endpoints to see if any URBs can be completed.
> >   1089           */
> >   1090          spin_lock_bh(&ozhcd->hcd_lock);
> >   1091          list_for_each(e, &port->isoc_in_ep) {
> >   1092                  struct oz_endpoint *ep = ep_from_link(e);
> >   1093                  if (ep->flags & OZ_F_EP_BUFFERING) {
> >   1094                          if (ep->buffered_units * OZ_IN_BUFFERING_UNITS) {
> >                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >It's not clear what we are testing for here.  It would be false if
> >->buffered_units was zero or if the multiplication overflowed.  If it's
> >testing for integer overflows, there are better ways to write that.
> Thanks Dan,
> 
> That is certainly a bug. A patch is following this email which
> should fix this bug.

Great.  :)

> Inbetween I am interested to know about tool which have found this
> warning.
> 
> Staging-next tree with gcc version 4.6.1, do not pop out above
> warning for me.

This was a Smatch thing I was working on.

regards,
dan carpenter

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux