/* uea_send_modem_cmd - Send a command for pre-firmware devices.  */
static int uea_send_modem_cmd(struct usb_device *usb, u16 addr, u16 size, const u8 *buff)
/* uea_send_modem_cmd - Send a command for pre-firmware devices.  */
static int uea_send_modem_cmd(struct usb_device *usb, u16 addr, u16 size, const u8 *buff)
{
	int ret = -ENOMEM;
	u8 *xfer_buff;
	xfer_buff = kmemdup(buff, size, GFP_KERNEL);
	if (xfer_buff) {
		ret = usb_control_msg(usb,
				      usb_sndctrlpipe(usb, 0),
				      LOAD_INTERNAL,
				      USB_DIR_OUT | USB_TYPE_VENDOR |
				      USB_RECIP_DEVICE, addr, 0, xfer_buff,
				      size, CTRL_TIMEOUT);
		kfree(xfer_buff);
	}
	if (ret < 0)
		return ret;
	return (ret == size) ? 0 : -EIO;
}