Specialix RIO Oops fix
PATCH 1/1 Specialix RIO Oops fix
The patch below fixes an Oops in the Specialix RIO driver. I sent this to the maintainer a couple of months ago and never got a response.
Note that this patch doesn't actually make the driver *work* for my client... It still causes a hard lockup that I was unable to debug in the short time I had to work on it. Specialix apparently told my client that they would have to switch to the original Red Hat 7.1 kernel (2.4.2-something) if they wanted it to actually work.
In any case, this patch seems to be a no-brainer. It merely adds a check that I see in every other serial driver's set_real_termios() function.
Steve
Signature · 18 lines
[email protected] | Southern Illinois Linux Users Group (618)398-7360 | See web site for meeting details. Steven Pritchard | http://www.silug.org/ --- linux-2.4.17.orig/drivers/char/rio/rio_linux.c Thu Oct 25 15:53:47 2001 +++ linux-2.4.17/drivers/char/rio/rio_linux.c Mon Feb 4 08:53:34 2002 @@ -422,6 +422,11 @@ struct tty_struct *tty; func_enter(); + if (!((struct Port *)ptr)->gs.tty || !((struct Port *)ptr)->gs.tty->termios) { + func_exit(); + return 0; + } + tty = ((struct Port *)ptr)->gs.tty; modem = (MAJOR(tty->device) == RIO_NORMAL_MAJOR0) || (MAJOR(tty->device) == RIO_NORMAL_MAJOR1);
Quoted 3 lines
The patch below fixes an Oops in the Specialix RIO driver. I sent this to the maintainer a couple of months ago and never got a response.
Its not really going to help. You need to work out how it got like that to have any chance it broke.
Until then it would be better to use
if(....) BUG()
That will get a stack trace to show why it worked
Quoted 2 lines
client that they would have to switch to the original Red Hat 7.1 kernel (2.4.2-something) if they wanted it to actually work.
Thats not a good idea. 2.4.2 has security holes, and should not be used in production systems.
Quoted 3 lines · Steven Pritchard
The patch below fixes an Oops in the Specialix RIO driver. I sent this to the maintainer a couple of months ago and never got a response.
Hi Steve,
I'm the maintainer, and I just found your 15-11-2001 mail. Indeed I seem to have forgotten to reply.. Sorry about that.
We have fixed a couple of RIO things since 2.4.2, so I would recommend that you try running a more recent kernel....
And keep bugging me and/or perle/specialix support if you need help. This card/driver is supported and you should get the support you require. We'll work with you till it works. (but we do reserve the right to ask you to upgrade to a kernel that has fixes we've done in the past...)
Rogier.
Signature · 4 lines
** [email protected] ** http://www.BitWizard.nl/ ** +31-15-2137555 ** *-- BitWizard writes Linux device drivers for any device you may have! --* * There are old pilots, and there are bold pilots. * There are also old, bald pilots.