Bug 6637 - IRQ incorect discover on HP M2 megaraid controler
Summary: IRQ incorect discover on HP M2 megaraid controler
Status: CLOSED PATCH_ALREADY_AVAILABLE
Alias: None
Product: SCSI Drivers
Classification: Unclassified
Component: Other (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: scsi_drivers-other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-02 05:33 UTC by Marcin Kowalik
Modified: 2006-06-06 02:56 UTC (History)
0 users

See Also:
Kernel Version: 2.6.14, 2.6.17
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Marcin Kowalik 2006-06-02 05:33:07 UTC
Most recent kernel where this bug did not occur:
Distribution: Debian Sarge, kernel's 2.6.14, 2.6.17
Hardware Environment: Compaq Proliant 3000, HP NetRAID 2M
Software Environment: 
Problem Description:

Hello,
 
I have a NetRAID 2M raid card and Compaq Proliant 3000 server  (both upgraded 
to newest available BIOS)
I can't make this card to work on my Debian box
In google i found some pathes to make work this card 
http://groups.google.com/group/linux.debian.kernel/msg/dc152026d0e4cab9?
hl=pl&q=debian+megaraid+2.6.14&utoken=bXHjYDMAAAA8-
LjW6L7CV3tYTKIi8Tn1Bi8cUz9KvgdfwExkCAawJtJZBgR-4JPpZCrTwGVJ-7jg-
UHJ57zcoDLp6njdOHrO
 
but this nothing help
 
my kernel is 2.6.14 (add path from previus link) and try to work with newest 
kernel 2.6.17 (found this patch included in megaraid.c) still nothing  
Problem is, I thing with MP mode on serwer. My dmseg output look like (driver 
is compiled in kernel, not module) 
IRQ in not correct discovered and try to IRQ0 set. So it is simple way to 
change this IRQ in megaraid.c to i.e. free IRQ7 on my serwer
 
 
Linux version 2.6.14-pp3 (root@FlyingBytes) (gcc version 3.3.5 (Debian 1:3.3.5-
13)) #1 SMP Tue May
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 00000000f5ffc000 (usable)
 BIOS-e820: 00000000f5ffc000 - 00000000f6000000 (ACPI data)
 BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee10000 (reserved)
 BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
3039MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000f4ff0
On node 0 totalpages: 1007612
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 225280 pages, LIFO batch:31
  HighMem zone: 778236 pages, LIFO batch:31
DMI not present.
ACPI: RSDP (v000 COMPAQ                                ) @ 0x000f4fd0
  >>> ERROR: Invalid checksum
Intel MultiProcessor Specification v1.4
    Virtual Wire compatibility mode.
OEM ID: COMPAQ   Product ID: PROLIANT     APIC at: 0xFEE00000
Processor #1 6:7 APIC version 16
Processor #0 6:7 APIC version 16
I/O APIC #8 Version 17 at 0xFEC00000.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Processors: 2
Allocating PCI resources starting at f7000000 (gap: f6000000:08c00000)
Built 1 zonelists
Kernel command line: BOOT_IMAGE=2.6.14-pp3 ro root=801
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 65536 bytes)
Detected 598.424 MHz processor.
Using tsc for high-res timesource
Console: colour VGA+ 80x60
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 3993892k/4030448k available (1878k kernel code, 35428k reserved, 336k 
data, 196k init, 311
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 1198.43 BogoMIPS (lpj=5992161)
Security Framework v1.0.0 initialized
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 0383fbff 00000000 00000000 00000000 
00000000 00000000 00000000
CPU: After vendor identify, caps: 0383fbff 00000000 00000000 00000000 00000000 
00000000 00000000
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 00000000 
00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
mtrr: v2.0 (20020519)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
CPU0: Intel Pentium III (Katmai) stepping 03
Booting processor 1/0 eip 2000
Initializing CPU#1
Calibrating delay using timer specific routine.. 1196.86 BogoMIPS (lpj=5984317)
CPU: After generic identify, caps: 0383fbff 00000000 00000000 00000000 
00000000 00000000 00000000
CPU: After vendor identify, caps: 0383fbff 00000000 00000000 00000000 00000000 
00000000 00000000
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 00000000 
00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#1.
CPU1: Intel Pentium III (Katmai) stepping 03
Total of 2 processors activated (2395.29 BogoMIPS).
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 pin1=2 pin2=0
..MP-BIOS bug: 8254 timer not connected to IO-APIC
...trying to set up timer (IRQ0) through the 8259A ...
..... (found pin 0) ...works.
checking TSC synchronization across 2 CPUs: passed.
Brought up 2 CPUs
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xf0080, last bus=5
mtrr: your CPUs had inconsistent fixed MTRR settings
mtrr: probably your BIOS does not setup all CPUs.
mtrr: corrected configuration.
ACPI: Subsystem revision 20050902
ACPI: Interpreter disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI: disabled
PnPBIOS: Scanning system for PnP BIOS support...
PnPBIOS: PnP BIOS support was not detected.
SCSI subsystem initialized
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
Boot video device is 0000:00:05.0
PCI: Discovered peer bus 01
PCI BIOS passed nonexistent PCI bus 2!
PCI BIOS passed nonexistent PCI bus 2!
PCI BIOS passed nonexistent PCI bus 3!
PCI BIOS passed nonexistent PCI bus 3!
PCI BIOS passed nonexistent PCI bus 4!
PCI BIOS passed nonexistent PCI bus 4!
PCI BIOS passed nonexistent PCI bus 5!
PCI BIOS passed nonexistent PCI bus 5!
PCI: Failed to allocate mem resource #6:100000@f7400000 for 0000:02:04.0
PCI: Failed to allocate mem resource #6:100000@f7400000 for 0000:02:05.0
PCI: Bridge: 0000:01:06.0
  IO window: 4000-4fff
  MEM window: f7800000-f79fffff
  PREFETCH window: f7300000-f73fffff
PCI: Failed to allocate mem resource #6:100000@f7500000 for 0000:03:04.0
PCI: Failed to allocate mem resource #6:100000@f7500000 for 0000:03:05.0
PCI: Bridge: 0000:01:07.0
  IO window: 5000-5fff
  MEM window: f7a00000-f7bfffff
  PREFETCH window: f7400000-f74fffff
PCI: Failed to allocate mem resource #6:100000@f7600000 for 0000:04:04.0
PCI: Failed to allocate mem resource #6:100000@f7600000 for 0000:04:05.0
PCI: Bridge: 0000:01:08.0
  IO window: 6000-6fff
  MEM window: f7c00000-f7dfffff
  PREFETCH window: f7500000-f75fffff
PCI: Failed to allocate mem resource #6:100000@f7700000 for 0000:05:04.0
PCI: Failed to allocate mem resource #6:100000@f7700000 for 0000:05:05.0
PCI: Bridge: 0000:01:09.0
  IO window: 7000-7fff
  MEM window: f7e00000-f7ffffff
  PREFETCH window: f7600000-f76fffff
highmem bounce pool size: 64 pages
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Initializing Cryptographic API
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 2 RAM disks of 8192K size 1024 blocksize
IMQ starting with 4 devices...
input: AT Translated Set 2 keyboard on isa0060/serio0
IMQ driver loaded successfully.
        Hooking IMQ before NAT on PREROUTING.
        Hooking IMQ after NAT on POSTROUTING.
sym0: <875> rev 0x14 at pci 0000:01:04.0 irq 9
sym0: No NVRAM, ID 7, Fast-20, SE, parity checking
sym0: SCSI BUS has been reset.
scsi0 : sym-2.2.1
  Vendor: HITACHI   Model: DK32DJ-72MC       Rev: D4D4
  Type:   Direct-Access                      ANSI SCSI revision: 03
 target0:0:1: tagged command queuing enabled, command queue depth 16.
.
.
.
.

PCI: No IRQ known for interrupt pin A of device 0000:00:07.0. Probably buggy 
MP table.
PCI: Setting latency timer of device 0000:00:07.0 to 64
megaraid: found 0x101e:0x1960:bus 0:slot 7:func 0
scsi2:Found MegaRAID controller at 0xf8816000, IRQ:0
megaraid: Couldn't register IRQ 0!
.
.
.
 
 
regadres,
 
Marcin Kowalik
mkowalik@flyingbytes.pl
 


Steps to reproduce:
Comment 1 Andrew Morton 2006-06-02 11:19:16 UTC
On Fri, 2 Jun 2006 05:36:01 -0700
bugme-daemon@bugzilla.kernel.org wrote:

> ACPI: RSDP (v000 COMPAQ                                ) @ 0x000f4fd0
>   >>> ERROR: Invalid checksum
> ...
> ACPI: Subsystem revision 20050902
> ACPI: Interpreter disabled.

Looks like ACPI doesn't like your BIOS tables.  After that ACPI doen't work
and that causes your interrupts tonot get set up.

Comment 2 Marcin Kowalik 2006-06-06 02:56:10 UTC
Yes now work fine. I insert  in lilo.conf 
append="acpi=off noapic pci=biosirq,usepirqmask" 
and this work with old Proliant. Dmesg look now fine

found SMP MP-table at 000f4ff0
On node 0 totalpages: 1007612
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 225280 pages, LIFO batch:31
  HighMem zone: 778236 pages, LIFO batch:31
DMI not present.
Intel MultiProcessor Specification v1.4
    Virtual Wire compatibility mode.
OEM ID: COMPAQ   Product ID: PROLIANT     APIC at: 0xFEE00000
Processor #1 6:7 APIC version 16
Processor #0 6:7 APIC version 16
I/O APIC #8 Version 17 at 0xFEC00000.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Processors: 2
Allocating PCI resources starting at f7000000 (gap: f6000000:08c00000)
Built 1 zonelists
Kernel command line: auto BOOT_IMAGE=2.6.14-pp3 ro root=801 acpi=off noapic 
pci=biosirq,us
mapped APIC to ffffd000 (fee00000)
mapped IOAPIC to ffffc000 (fec00000)
Initializing CPU#0
 


Note You need to log in before you can comment on or make changes to this bug.