[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

serial spewing garbage


We are using two Etrax 100lx's in our design.

We are experiencing occational garbage characters coming out of the serial 
port on one of the processors. Not just one or two characters, but hundreds 
at a time. When this happens, it's like the serial driver takes over and 
everything else takes a back seat. The output is meaningless. It looks like 
  digital vomit. After it's finished, things go back to normal.

The processor that this happens on is running a device driver that we have 
written. Also this processor is *very* busy followed by a short period 
where it's idle. When the serial starts spewing, it screws up our driver 
(ie. things don't get done on time).

I have turned off all printk's in the driver except for boot time messages. 
This seems to help reduce the occurance of the problem. Or another way of 
putting it is; If I perform a few printk's while the driver is idle, the 
problem happens quite often.

Both processors are running the same kernel image. The only difference is 
that the driver on the "happy" processor is not exercising the driver at 
all (the interrupt is hooked but it's disabled and no ioctls are called).

Now to my question:

How can I completely disable all serial ports on the one processor after 
boot up, using the same kernel image?

We don't want to have to deal with two different kernel images. I know this 
is a kludge, but it's the only work around I can think of.

Can I just disable "free_irq()" all of the interrupts used by the serial?