2002-02-04 15:02:27

by Steven Pritchard

[permalink] [raw]
Subject: [PATCH] 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
--
[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);


2002-02-04 15:30:28

by Alan

[permalink] [raw]
Subject: Re: [PATCH] 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.

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

> 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.

2002-02-08 21:16:38

by Rogier Wolff

[permalink] [raw]
Subject: Re: [PATCH] Specialix RIO Oops fix

Steven Pritchard wrote:
> 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.

--
** [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.