summaryrefslogtreecommitdiffstats
path: root/drivers/net/caif
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2010-04-07 16:49:31 -0700
committerDavid S. Miller <davem@davemloft.net>2010-04-07 16:49:31 -0700
commitc93f09402106f22601838ee2bb0d02bae934b5e5 (patch)
tree5e8471a9bcdbf63e170380163a987b51f82719d7 /drivers/net/caif
parent298b9e44be9592e94c0e69a5d3893cd11f5484fa (diff)
downloadlinux-c93f09402106f22601838ee2bb0d02bae934b5e5.tar.gz
linux-c93f09402106f22601838ee2bb0d02bae934b5e5.tar.bz2
linux-c93f09402106f22601838ee2bb0d02bae934b5e5.zip
caif: check write operations
write is optional for a tty device. Check that we have a write op rather than calling NULL. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/caif')
-rw-r--r--drivers/net/caif/caif_serial.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/caif/caif_serial.c b/drivers/net/caif/caif_serial.c
index 3502f607117f..c669ec37483b 100644
--- a/drivers/net/caif/caif_serial.c
+++ b/drivers/net/caif/caif_serial.c
@@ -312,6 +312,10 @@ static int ldisc_open(struct tty_struct *tty)
char name[64];
int result;
+ /* No write no play */
+ if (tty->ops->write == NULL)
+ return -EOPNOTSUPP;
+
sprintf(name, "cf%s", tty->name);
dev = alloc_netdev(sizeof(*ser), name, caifdev_setup);
ser = netdev_priv(dev);