staging: ozwpan: Added USB HCD implementation

Dan Carpenter dan.carpenter at oracle.com
Tue Jan 29 17:32:42 UTC 2013


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




More information about the devel mailing list