On Sat, Sep 26, 2020 at 11:21:08AM +0300, Petko Manolov wrote: > On 20-09-26 07:44:57, Greg KH wrote: > > On Fri, Sep 25, 2020 at 07:01:59PM +0300, Petko Manolov wrote: > > > From: Petko Manolov <petko.manolov@xxxxxxxxxxxx> > > > > > > Move all control transfers to safer usb_control_msg_send/recv() API. > > > > This says _what_ the patch does, but we can see that from the diff. You > > should describe _why_ we are doing what we are doing, so that everyone > > understands the need for the change. > > Didn't want to parrot the reason for usb_control_msg_send/recv() existence, but > i guess you're right. 5 years from now i would not remember anything. :) > > > > static int set_register(pegasus_t *pegasus, __u16 indx, __u8 data) > > > { > > > - u8 *buf; > > > - int ret; > > > - > > > - buf = kmemdup(&data, 1, GFP_NOIO); > > > - if (!buf) > > > - return -ENOMEM; > > > - > > > - ret = usb_control_msg(pegasus->usb, usb_sndctrlpipe(pegasus->usb, 0), > > > - PEGASUS_REQ_SET_REG, PEGASUS_REQT_WRITE, data, > > > - indx, buf, 1, 1000); > > > - if (ret < 0) > > > - netif_dbg(pegasus, drv, pegasus->net, > > > - "%s returned %d\n", __func__, ret); > > > - kfree(buf); > > > - return ret; > > > + return usb_control_msg_send(pegasus->usb, 0, PEGASUS_REQ_SET_REG, > > > + PEGASUS_REQT_WRITE, data, indx, &data, 1, > > > + 1000, GFP_NOIO); > > > } > > > > Again, why isn't set_register() now rewritten to just be: > > > > static int set_register(pegasus_t *pegasus, __u16 indx, __u8 data) > > { > > return set_registers(pegasus, indx, 1, data); > > } > > > > Much easier to show that it's all converted properly :) > > There's a catch - adm8511-based devices can only write to a single register via > specific control request. This request expects the register number in wIndex > and the value in wValue. A bit of a brain fart which is fixed in adm8515. Ah, I missed that, good catch, sorry about that. greg k-h