aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/iuu_phoenix.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2017-01-09 15:39:11 -0500
committerDavid S. Miller <davem@davemloft.net>2017-01-09 15:39:11 -0500
commitbb1d3034449ed08e2ffbf5813a5ad9fa30475359 (patch)
treea48cc17fc4683b5fdc1656ac71639540bd8852e2 /drivers/usb/serial/iuu_phoenix.c
parentMerge branch 'dwmac-dwc-qos-eth' (diff)
parentphy state machine: failsafe leave invalid RUNNING state (diff)
downloadlinux-dev-bb1d3034449ed08e2ffbf5813a5ad9fa30475359.tar.xz
linux-dev-bb1d3034449ed08e2ffbf5813a5ad9fa30475359.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'drivers/usb/serial/iuu_phoenix.c')
-rw-r--r--drivers/usb/serial/iuu_phoenix.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/usb/serial/iuu_phoenix.c b/drivers/usb/serial/iuu_phoenix.c
index 344b4eea4bd5..d57fb5199218 100644
--- a/drivers/usb/serial/iuu_phoenix.c
+++ b/drivers/usb/serial/iuu_phoenix.c
@@ -68,6 +68,16 @@ struct iuu_private {
u32 clk;
};
+static int iuu_attach(struct usb_serial *serial)
+{
+ unsigned char num_ports = serial->num_ports;
+
+ if (serial->num_bulk_in < num_ports || serial->num_bulk_out < num_ports)
+ return -ENODEV;
+
+ return 0;
+}
+
static int iuu_port_probe(struct usb_serial_port *port)
{
struct iuu_private *priv;
@@ -1196,6 +1206,7 @@ static struct usb_serial_driver iuu_device = {
.tiocmset = iuu_tiocmset,
.set_termios = iuu_set_termios,
.init_termios = iuu_init_termios,
+ .attach = iuu_attach,
.port_probe = iuu_port_probe,
.port_remove = iuu_port_remove,
};