Ignore:
Timestamp:
Apr 21, 2017, 4:28:29 AM (2 months ago)
Author:
brainslayer
Message:

update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-3.18/drivers/net/usb/rtl8150.c

    r25370 r31885  
    156156static int get_registers(rtl8150_t * dev, u16 indx, u16 size, void *data)
    157157{
    158         return usb_control_msg(dev->udev, usb_rcvctrlpipe(dev->udev, 0),
    159                                RTL8150_REQ_GET_REGS, RTL8150_REQT_READ,
    160                                indx, 0, data, size, 500);
    161 }
    162 
    163 static int set_registers(rtl8150_t * dev, u16 indx, u16 size, void *data)
    164 {
    165         return usb_control_msg(dev->udev, usb_sndctrlpipe(dev->udev, 0),
    166                                RTL8150_REQ_SET_REGS, RTL8150_REQT_WRITE,
    167                                indx, 0, data, size, 500);
     158        void *buf;
     159        int ret;
     160
     161        buf = kmalloc(size, GFP_NOIO);
     162        if (!buf)
     163                return -ENOMEM;
     164
     165        ret = usb_control_msg(dev->udev, usb_rcvctrlpipe(dev->udev, 0),
     166                              RTL8150_REQ_GET_REGS, RTL8150_REQT_READ,
     167                              indx, 0, buf, size, 500);
     168        if (ret > 0 && ret <= size)
     169                memcpy(data, buf, ret);
     170        kfree(buf);
     171        return ret;
     172}
     173
     174static int set_registers(rtl8150_t * dev, u16 indx, u16 size, const void *data)
     175{
     176        void *buf;
     177        int ret;
     178
     179        buf = kmemdup(data, size, GFP_NOIO);
     180        if (!buf)
     181                return -ENOMEM;
     182
     183        ret = usb_control_msg(dev->udev, usb_sndctrlpipe(dev->udev, 0),
     184                              RTL8150_REQ_SET_REGS, RTL8150_REQT_WRITE,
     185                              indx, 0, buf, size, 500);
     186        kfree(buf);
     187        return ret;
    168188}
    169189
Note: See TracChangeset for help on using the changeset viewer.