Many tty drivers contain 'can't happen' checks against NULL pointers passed
in by the tty layer. These have never been possible to occur. Even more
importantly if they ever do occur we want to know as it would be a serious
bug.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
struct async_struct *info;
unsigned long flags;
struct async_struct *info;
unsigned long flags;
- if (!tty)
- return 0;
-
info = tty->driver_data;
if (serial_paranoia_check(info, tty->name, "rs_put_char"))
info = tty->driver_data;
if (serial_paranoia_check(info, tty->name, "rs_put_char"))
struct async_struct *info;
unsigned long flags;
struct async_struct *info;
unsigned long flags;
- if (!tty)
- return 0;
-
info = tty->driver_data;
if (serial_paranoia_check(info, tty->name, "rs_write"))
info = tty->driver_data;
if (serial_paranoia_check(info, tty->name, "rs_write"))
port = tty->driver_data;
if (!port) return 0;
port = tty->driver_data;
if (!port) return 0;
port = tty->driver_data;
if (!port) return 0;
port = tty->driver_data;
if (!port) return 0;
struct gs_port *port;
func_enter ();
struct gs_port *port;
func_enter ();
port = tty->driver_data;
if (!port->rd) return 0;
port = tty->driver_data;
if (!port->rd) return 0;
port = tty->driver_data;
if (!port) return;
port = tty->driver_data;
if (!port) return;
port = tty->driver_data;
if (!port) return;
port = tty->driver_data;
if (!port) return;
port = tty->driver_data;
if (!port) return;
port = tty->driver_data;
if (!port) return;
port = tty->driver_data;
if (!port) return;
port = tty->driver_data;
if (!port) return;
port = tty->driver_data;
tty = port->port.tty;
if (!tty)
port = tty->driver_data;
tty = port->port.tty;
if (!tty)
gs_dprintk (GS_DEBUG_BTR, "Entering gs_block_till_ready.\n");
/*
* If the device is in the middle of being closed, then block
gs_dprintk (GS_DEBUG_BTR, "Entering gs_block_till_ready.\n");
/*
* If the device is in the middle of being closed, then block
port = (struct gs_port *) tty->driver_data;
if (!port) return;
port = (struct gs_port *) tty->driver_data;
if (!port) return;
port = tty->driver_data;
if (!port) return;
port = tty->driver_data;
if (!port) return;
stli_txcookrealsize = 0;
stli_txcooktty = NULL;
stli_txcookrealsize = 0;
stli_txcooktty = NULL;
- if (tty == NULL)
- return;
if (cooktty == NULL)
return;
if (tty != cooktty)
if (cooktty == NULL)
return;
if (tty != cooktty)
struct ktermios *tiosp;
asyport_t aport;
struct ktermios *tiosp;
asyport_t aport;
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;
struct stliport *portp;
unsigned long tend;
struct stliport *portp;
unsigned long tend;
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;
int quot = 0, baud;
unsigned char cval;
int quot = 0, baud;
unsigned char cval;
- if (!tty->termios)
- return -1;
-
if (!info->ioaddr)
return -1;
if (!info->ioaddr)
return -1;
int ret = 0;
unsigned char status;
int ret = 0;
unsigned char status;
- if (!tty->termios)
- return ret;
cflag = tty->termios->c_cflag;
if (!info->ioaddr)
return ret;
cflag = tty->termios->c_cflag;
if (!info->ioaddr)
return ret;
static void put_char(struct r3964_info *pInfo, unsigned char ch)
{
struct tty_struct *tty = pInfo->tty;
static void put_char(struct r3964_info *pInfo, unsigned char ch)
{
struct tty_struct *tty = pInfo->tty;
-
- if (tty == NULL)
- return;
-
/* FIXME: put_char should not be called from an IRQ */
/* FIXME: put_char should not be called from an IRQ */
- if (tty->ops->put_char) {
- tty->ops->put_char(tty, ch);
- }
pr_debug("stl_flushbuffer(tty=%p)\n", tty);
pr_debug("stl_flushbuffer(tty=%p)\n", tty);
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;
pr_debug("stl_waituntilsent(tty=%p,timeout=%d)\n", tty, timeout);
pr_debug("stl_waituntilsent(tty=%p,timeout=%d)\n", tty, timeout);
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;
pr_debug("stl_putchar(tty=%p,ch=%x)\n", tty, ch);
pr_debug("stl_putchar(tty=%p,ch=%x)\n", tty, ch);
- if (tty == NULL)
- return -EINVAL;
portp = tty->driver_data;
if (portp == NULL)
return -EINVAL;
portp = tty->driver_data;
if (portp == NULL)
return -EINVAL;
pr_debug("stl_flushchars(tty=%p)\n", tty);
pr_debug("stl_flushchars(tty=%p)\n", tty);
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;
pr_debug("stl_writeroom(tty=%p)\n", tty);
pr_debug("stl_writeroom(tty=%p)\n", tty);
- if (tty == NULL)
- return 0;
portp = tty->driver_data;
if (portp == NULL)
return 0;
portp = tty->driver_data;
if (portp == NULL)
return 0;
pr_debug("stl_charsinbuffer(tty=%p)\n", tty);
pr_debug("stl_charsinbuffer(tty=%p)\n", tty);
- if (tty == NULL)
- return 0;
portp = tty->driver_data;
if (portp == NULL)
return 0;
portp = tty->driver_data;
if (portp == NULL)
return 0;
- if (tty == NULL)
- return -ENODEV;
portp = tty->driver_data;
if (portp == NULL)
return -ENODEV;
portp = tty->driver_data;
if (portp == NULL)
return -ENODEV;
struct stlport *portp;
int rts = -1, dtr = -1;
struct stlport *portp;
int rts = -1, dtr = -1;
- if (tty == NULL)
- return -ENODEV;
portp = tty->driver_data;
if (portp == NULL)
return -ENODEV;
portp = tty->driver_data;
if (portp == NULL)
return -ENODEV;
pr_debug("stl_ioctl(tty=%p,file=%p,cmd=%x,arg=%lx)\n", tty, file, cmd,
arg);
pr_debug("stl_ioctl(tty=%p,file=%p,cmd=%x,arg=%lx)\n", tty, file, cmd,
arg);
- if (tty == NULL)
- return -ENODEV;
portp = tty->driver_data;
if (portp == NULL)
return -ENODEV;
portp = tty->driver_data;
if (portp == NULL)
return -ENODEV;
pr_debug("stl_start(tty=%p)\n", tty);
pr_debug("stl_start(tty=%p)\n", tty);
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;
pr_debug("stl_settermios(tty=%p,old=%p)\n", tty, old);
pr_debug("stl_settermios(tty=%p,old=%p)\n", tty, old);
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;
pr_debug("stl_throttle(tty=%p)\n", tty);
pr_debug("stl_throttle(tty=%p)\n", tty);
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;
pr_debug("stl_unthrottle(tty=%p)\n", tty);
pr_debug("stl_unthrottle(tty=%p)\n", tty);
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;
pr_debug("stl_stop(tty=%p)\n", tty);
pr_debug("stl_stop(tty=%p)\n", tty);
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;
pr_debug("stl_hangup(tty=%p)\n", tty);
pr_debug("stl_hangup(tty=%p)\n", tty);
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;
pr_debug("stl_breakctl(tty=%p,state=%d)\n", tty, state);
pr_debug("stl_breakctl(tty=%p,state=%d)\n", tty, state);
- if (tty == NULL)
- return -EINVAL;
portp = tty->driver_data;
if (portp == NULL)
return -EINVAL;
portp = tty->driver_data;
if (portp == NULL)
return -EINVAL;
pr_debug("stl_sendxchar(tty=%p,ch=%x)\n", tty, ch);
pr_debug("stl_sendxchar(tty=%p,ch=%x)\n", tty, ch);
- if (tty == NULL)
- return;
portp = tty->driver_data;
if (portp == NULL)
return;
portp = tty->driver_data;
if (portp == NULL)
return;