Commit 0a967f62 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman

USB: spcp8x5: clean up modem status retrieval

Clean up modem status retrieval.
Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8413d2fd
...@@ -226,31 +226,27 @@ static int spcp8x5_get_msr(struct usb_serial_port *port, u8 *status) ...@@ -226,31 +226,27 @@ static int spcp8x5_get_msr(struct usb_serial_port *port, u8 *status)
{ {
struct spcp8x5_private *priv = usb_get_serial_port_data(port); struct spcp8x5_private *priv = usb_get_serial_port_data(port);
struct usb_device *dev = port->serial->dev; struct usb_device *dev = port->serial->dev;
u8 *status_buffer; u8 *buf;
int ret; int ret;
/* I return Permited not support here but seem inval device /* I return Permited not support here but seem inval device
* is more fix */ * is more fix */
if (priv->type == SPCP825_007_TYPE) if (priv->type == SPCP825_007_TYPE)
return -EPERM; return -EPERM;
if (status == NULL)
return -EINVAL;
status_buffer = kmalloc(1, GFP_KERNEL); buf = kzalloc(1, GFP_KERNEL);
if (!status_buffer) if (!buf)
return -ENOMEM; return -ENOMEM;
status_buffer[0] = status[0];
ret = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), ret = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
GET_UART_STATUS, GET_UART_STATUS_TYPE, GET_UART_STATUS, GET_UART_STATUS_TYPE,
0, GET_UART_STATUS_MSR, status_buffer, 1, 100); 0, GET_UART_STATUS_MSR, buf, 1, 100);
if (ret < 0) if (ret < 0)
dev_err(&port->dev, "failed to get modem status: %d", ret); dev_err(&port->dev, "failed to get modem status: %d", ret);
dev_dbg(&port->dev, "0xc0:0x22:0:6 %d - 0x02%x", ret, *status_buffer); dev_dbg(&port->dev, "0xc0:0x22:0:6 %d - 0x02%x", ret, *buf);
*status = *buf;
status[0] = status_buffer[0]; kfree(buf);
kfree(status_buffer);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment