lkml.org 
[lkml]   [2005]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectA possible BUG-FIX
Date
Hi,

at first - please excuse my bad english. Here is my ?bug report? and
a ?possible solution.?

[1.] One line summary of the problem:
Risk of a froozen system loading stallion-module and no funktion

[2.] Full description of the problem/report:
I wanted to use a Stallion EC 8/64 PCI card. After loading the kernel-
module with "modprobe stallion" i tried to echo a text to one of the serial
devices ( echo "Hello World" >/dev/ttyE0 ). The tty is not opened and
no characters are sent. (I am sure it is not a handshake problem)

After doing that two, three or more times the complete system stalled.

[3.] Keywords (i.e., modules, networking, kernel):
[4.] Kernel version (from /proc/version):
2.6.10
2.6.11.9
both compiled as non-smp-kernels because of cli() / sti()

[5.] Output of Oops.. message (if applicable) with symbolic information
resolved (see Documentation/oops-tracing.txt)
none
[6.] A small shell script or example program which triggers the
problem (if possible)

modprobe stallion
echo "Hello World" >/dev/ttyE0

[7.] Environment
[7.1.] Software (add the output of the ver_linux script here)
[7.2.] Processor information (from /proc/cpuinfo):
I tested it at different Systems with different Pentium III/4 CPU's
[7.3.] Module information (from /proc/modules):
[7.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)
[7.5.] PCI information ('lspci -vvv' as root)
[7.6.] SCSI information (from /proc/scsi/scsi)
[7.7.] Other information that might be relevant to the problem
(please look in /proc and include all information that you
think to be relevant):
[X.] Other notes, patches, fixes, workarounds:

This patch shows you how i tryed to fix this problem

diff -urN ./linux-2.6.11.9.org/kernel/irq/manage.c ./linux-2.6.11.9.new/
kernel/irq/manage.c
--- ./linux-2.6.11.9.org/kernel/irq/manage.c 2005-05-12 00:43:36.000000000
+0200
+++ ./linux-2.6.11.9.new/kernel/irq/manage.c 2005-05-24 20:28:25.000000000
+0200
@@ -320,8 +320,15 @@
* which interrupt is which (messes up the interrupt freeing
* logic etc).
*/
- if ((irqflags & SA_SHIRQ) && !dev_id)
- return -EINVAL;
+ //if ((irqflags & SA_SHIRQ) && !dev_id)
+ // return -EINVAL;
+
+ if(irqflags & SA_SHIRQ) {
+ if(!dev_id)
+ printk("Bad boy: %s called us without a dev_id !\n",
+ devname);
+ }
+
if (irq >= NR_IRQS)
return -EINVAL;
if (!handler)
----------------------------------------------------------------------------------------------------
Greetings from Bavaria
Jürgen

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-05-25 12:29    [W:0.026 / U:0.960 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site