|
@@ -166,6 +166,9 @@ static int rsi_usb_reg_read(struct usb_device *usbdev,
|
|
|
if (!buf)
|
|
|
return status;
|
|
|
|
|
|
+ if (len > RSI_USB_CTRL_BUF_SIZE)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
status = usb_control_msg(usbdev,
|
|
|
usb_rcvctrlpipe(usbdev, 0),
|
|
|
USB_VENDOR_REGISTER_READ,
|
|
@@ -208,6 +211,9 @@ static int rsi_usb_reg_write(struct usb_device *usbdev,
|
|
|
if (!usb_reg_buf)
|
|
|
return status;
|
|
|
|
|
|
+ if (len > RSI_USB_CTRL_BUF_SIZE)
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
usb_reg_buf[0] = (value & 0x00ff);
|
|
|
usb_reg_buf[1] = (value & 0xff00) >> 8;
|
|
|
usb_reg_buf[2] = 0x0;
|