Specialix RIO Oops fix

Specialix RIO Oops fix

Post by Steven Pritchar » Wed, 06 Feb 2002 00:10:17



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

(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

   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);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Specialix RIO Oops fix

Post by Alan Co » Wed, 06 Feb 2002 00:40:09


Quote:> 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

Quote:> 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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Specialix RIO Oops fix

Post by Rogier Wol » Sun, 10 Feb 2002 06:30:20



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

--

*-- 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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/