summaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/omninet.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/omninet.c
parent3b647be2bfcd95d6d0feba245ccc3966c73ccc52 (diff)
parent811a919135b980bac8009d042acdccf10dc1ef5e (diff)
downloadtalos-op-linux-bb1d3034449ed08e2ffbf5813a5ad9fa30475359.tar.gz
talos-op-linux-bb1d3034449ed08e2ffbf5813a5ad9fa30475359.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'drivers/usb/serial/omninet.c')
-rw-r--r--drivers/usb/serial/omninet.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/usb/serial/omninet.c b/drivers/usb/serial/omninet.c
index f6c6900bccf0..a180b17d2432 100644
--- a/drivers/usb/serial/omninet.c
+++ b/drivers/usb/serial/omninet.c
@@ -38,6 +38,7 @@ static int omninet_write(struct tty_struct *tty, struct usb_serial_port *port,
const unsigned char *buf, int count);
static int omninet_write_room(struct tty_struct *tty);
static void omninet_disconnect(struct usb_serial *serial);
+static int omninet_attach(struct usb_serial *serial);
static int omninet_port_probe(struct usb_serial_port *port);
static int omninet_port_remove(struct usb_serial_port *port);
@@ -56,6 +57,7 @@ static struct usb_serial_driver zyxel_omninet_device = {
.description = "ZyXEL - omni.net lcd plus usb",
.id_table = id_table,
.num_ports = 1,
+ .attach = omninet_attach,
.port_probe = omninet_port_probe,
.port_remove = omninet_port_remove,
.open = omninet_open,
@@ -104,6 +106,17 @@ struct omninet_data {
__u8 od_outseq; /* Sequence number for bulk_out URBs */
};
+static int omninet_attach(struct usb_serial *serial)
+{
+ /* The second bulk-out endpoint is used for writing. */
+ if (serial->num_bulk_out < 2) {
+ dev_err(&serial->interface->dev, "missing endpoints\n");
+ return -ENODEV;
+ }
+
+ return 0;
+}
+
static int omninet_port_probe(struct usb_serial_port *port)
{
struct omninet_data *od;
OpenPOWER on IntegriCloud