aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/cyclades.c
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2007-10-22 23:45:13 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-23 11:32:06 -0400
commit7fa57a0cd98bdd163eeb5f15cbe234c3a0cf68a1 (patch)
treee96e4baa27409ab15daaad10f5ff63fac67e4919 /drivers/char/cyclades.c
parent1ddd439ef987c9f0209e6ce824b67518f2afe67b (diff)
Char: cyclades, fix potential NULL dereference
ztxdone is jumped to even if tty is NULL and tty_wakeup placed after this label doesn't expect NULLed parameter, so this will cause an oops in some situations (why they scheduled a wakeup there before remove bottom half processing patch?). wakeup only in the case when we have non-null tty struct. Spotted by Adrian Bunk. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: Adrian Bunk <bunk@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/cyclades.c')
-rw-r--r--drivers/char/cyclades.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
index d1bd0f08a331..e4f579c3e245 100644
--- a/drivers/char/cyclades.c
+++ b/drivers/char/cyclades.c
@@ -1602,8 +1602,8 @@ static void cyz_handle_tx(struct cyclades_port *info,
1602 info->icount.tx++; 1602 info->icount.tx++;
1603 } 1603 }
1604#endif 1604#endif
1605ztxdone:
1606 tty_wakeup(tty); 1605 tty_wakeup(tty);
1606ztxdone:
1607 /* Update tx_put */ 1607 /* Update tx_put */
1608 cy_writel(&buf_ctrl->tx_put, tx_put); 1608 cy_writel(&buf_ctrl->tx_put, tx_put);
1609 } 1609 }