Char: mxser_new, do not null driver_data
Subsystems (2)
PATCH 1/3 Char: mxser_new, do not null driver_data
mxser_new, do not null driver_data
driver_data are initialzed to NULL from tty layer, no need to do it in the driver. In this case it cases oops, since driver_data may be NULL for a short while for another closing process.
---
commit f49b6914c3113f930a31ff7b8f811744f2d8f339
tree d4f8355eb12a89f779dc4b85e7a908b9e80e88d3
parent 2826e3a35f34046890c84a77bc2784a184f9bf6a
author Jiri Slaby <[email protected]> Sat, 20 Jan 2007 17:00:12 +0059 committer Jiri Slaby <[email protected]> Sat, 20 Jan 2007 17:00:12 +0059
drivers/char/mxser_new.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-)
drivers/char/mxser_new.c +0 -3
@@ -927,9 +927,6 @@ static int mxser_open(struct tty_struct *tty, struct file *filp)struct mxser_port *info;int retval, line; -/* initialize driver_data in case something fails */ - tty->driver_data =NULL ; - line = tty->index;if (line ==MXSER_PORTS )return 0 ;
PATCH 2/3 Char: mxser_new, lock count and flags
mxser_new, lock count and flags
Both open count and INITIALIZED flag should be changed under lock.
---
commit 76b3ee2d5737395df62553cec1b8193252476147
tree dfc50c164ddde6b73a954f694dfdcb98ed921629
parent f49b6914c3113f930a31ff7b8f811744f2d8f339
author Jiri Slaby <[email protected]> Sat, 20 Jan 2007 17:18:24 +0059 committer Jiri Slaby <[email protected]> Sat, 20 Jan 2007 17:18:24 +0059
drivers/char/mxser_new.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
drivers/char/mxser_new.c +4 -1
@@ -853,9 +853,9 @@ static int mxser_startup(struct mxser_port *info)* and set the speed of the serial port */ mxser_change_speed (info,NULL ); + info->flags |=ASYNC_INITIALIZED ;spin_unlock_irqrestore (&info->slock, flags); - info->flags |=ASYNC_INITIALIZED ;return 0 ; }
@@ -925,6 +925,7 @@ static void mxser_shutdown(struct mxser_port *info)static int mxser_open (struct tty_struct *tty,struct file *filp) {struct mxser_port *info; +unsigned long flags;int retval, line; line = tty->index;
@@ -941,7 +942,9 @@ static int mxser_open(struct tty_struct *tty, struct file *filp)/* * Start up serial port */ +spin_lock_irqsave (&info->slock, flags); info->count++; +spin_unlock_irqrestore (&info->slock, flags); retval =mxser_startup (info);if (retval)return retval;
PATCH 3/3 Char: mxser_new, fix sparse warning
In reply to Jiri Slabymxser_new, fix sparse warning
Feed NULL instead of 0 where pointer is expected.
---
commit e87e9f65c3ac51d447cfe435217032a07f7a56e0
tree fbb8597542ed5919d3fae6b9ab45865e0659e922
parent 76b3ee2d5737395df62553cec1b8193252476147
author Jiri Slaby <[email protected]> Tue, 23 Jan 2007 01:43:13 +0059 committer Jiri Slaby <[email protected]> Tue, 23 Jan 2007 01:43:13 +0059
drivers/char/mxser_new.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/char/mxser_new.c +1 -1
@@ -1708,7 +1708,7 @@ static int mxser_ioctl(struct tty_struct *tty, struct file *file, info->speed = speed;spin_lock_irqsave (&info->slock, flags); -mxser_change_speed (info,0 ); +mxser_change_speed (info,NULL );spin_unlock_irqrestore (&info->slock, flags);return 0 ;