On Sat, 18 May 2013, Francois Romieu wrote:

> Petko Manolov <pet...@nucleusys.com> :
> [...]
> >  static int set_registers(rtl8150_t * dev, u16 indx, u16 size, void *data)
> >  {
> > -   return usb_control_msg(dev->udev, usb_sndctrlpipe(dev->udev, 0),
> > -                          RTL8150_REQ_SET_REGS, RTL8150_REQT_WRITE,
> > -                          indx, 0, data, size, 500);
> > +   int res;
> > +
> > +   res = usb_control_msg(dev->udev, usb_sndctrlpipe(dev->udev, 0),
> > +                         RTL8150_REQ_SET_REGS, RTL8150_REQT_WRITE,
> > +                         indx, 0, data, size, 500);
> > +   if (res < 0)
> > +           dev_dbg(&dev->udev->dev, "%s returned %d\n", __func__, res);
> > +   return res;
> 
> You may move it into a separate patch. It is completely unrelated to the
> ctrl_urb changes.

The change is so trivial i thought i can smuggle it unnoticed. :-)

> [...]
> > +static int async_set_registers(rtl8150_t *dev, u16 indx, u16 size, u16 reg)
> >  {
> 
> [...]
> > +   usb_fill_control_urb(async_urb, dev->udev,
> > +                        usb_sndctrlpipe(dev->udev, 0), (void *) &req->dr,
> 
> Useless void * cast.

Wrong.  The compiler actually moans quite a lot:

/usr/src/git/rtl8150/rtl8150.c: In function ‘async_set_registers’:
/usr/src/git/rtl8150/rtl8150.c:92:9: warning: passing argument 4 of 
‘usb_fill_control_urb’ from incompatible pointer type [enabled by default]
In file included from /usr/src/git/rtl8150/rtl8150.c:17:0:
include/linux/usb.h:1440:20: note: expected ‘unsigned char *’ but argument is 
of type ‘struct usb_ctrlrequest *’

Reply via email to