Re: 2.1.99 thinks ide0 is irq 12

Etienne Lorrain (lorrain@fb.sony.de)
Mon, 4 May 1998 16:29:55 +0001


> Hi,
>
> I would like to report a problem regarding IDE initialisation
> probably interfering with not quite standard serial port
> configuration.

Seems to be a problem with IDE ...

> Hardware: ...
> add-on card with two serial and one parallel port
> ttyS2 on irq 11, ttyS3 on irq 12
> IDE disks at hda and hdc
> IDE CDROM at hdd

Here, a question: IDE IRQ are standart, i.e.
IDE0 on IRQ14 and IDE1 on IRQ15 ?
Hope there is no conflict with parallel port (cat /proc/ioports)

> Problem: after the computer is switched on, the kernel starts,
> finds all serial ports (but of course guesses IRQ 4 and 3
> for ttyS2 and ttyS3). The kernel then fails to probe for ide0
> and dies (well, it's hard to boot without the root
> filesystem :-)):
>
> PCI: PCI BIOS revision 2.10 entry at 0xfb290
> PCI: Probing PCI hardware.
> Starting kswapd v 1.5
> Serial driver version 4.25 with enabled
> ttyS00 at 0x03f8 (irq = 4) is a 16550A
> ttyS01 at 0x02f8 (irq = 3) is a 16550A
> ttyS02 at 0x03e8 (irq = 4) is a 16550A
> ttyS03 at 0x02e8 (irq = 3) is a 16550A
> PIIX3: IDE controller on PCI bus 00 dev 39
> PIIX3: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:pio, hdb:pio
> ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
> hda: IBM-DHEA-34330, ATA DISK drive
> hdc: WDC AC2850F, ATA DISK drive
> hdd: TOSHIBA CD-ROM XM-5602B, ATAPI CDROM drive
> ide2: ports already in use, skipping probe
> ide0: UNABLE TO GET IRQ -12
> ide1 at 0x170-0x177,0x376 on irq 15
>
> After I boot with older kernel (or after the machine warms up -
> I don't know) the machine starts up normally :-( I'm trying
> to isolate the problem with disabling autodetection of ide2-ide5
> and hardcoding irq 11 and 12 to the serial driver, but as
> this is not 100% reproducible, it will take some time.
>
> BTW, the reported irq _was_ negative - I have no idea what this
> means, as the line in ide-probe.c just writes the irq out
> and I have not found the negation anywhere ...

IRQ negative, probably multiple IRQ have appeared.

> I am pretty sure that I have booted 2.1.98 two or three times
> without these problems. I suspect some time-dependent IRQ clash
> between the serial and IDE driver. I don't think there is problem
> with ide0 - the kernel was loaded from the same drive.

On some UART chips, the "enable interrupt" bit (OUT2) is not
reseted at master reset, so initialisation reset it.
If (and only if) you do NOT enable AUTO_IRQ for serial (kernel
configuration), the IRQ falls and is normally catched in an empty
handler.

This fact has not changed, but maybe timmings have.

Then, it is maybe the problem with IDE IRQ detection, the
initially present IRQ confuses the IDE IRQ detection.

[ Is there in ide.c, before autodetection :
probe_irq_off(probe_irq_on()); ]

> The interesting thing is that I am unable to change irq for ttyS2
> with setserial:
>
> # setserial /dev/ttyS2 irq 11
> /dev/ttyS2: Device or resource busy

Sure you do not have opened /dev/ttyS2 (is there a modem with getty
waiting ?)

> The 2.1.88 worked flawlessly, but I had irq 11 and 12 hardcoded
> for ttyS2-3 in serial.c because of the setserial thing (I need
> the card because of parallel port and I don't use the serial
> ones, but not having the hw initialised correctly irritates
> me :-)). Now this has apparently moved to serial.h and I have
> yet to change it there.

In short, if you recompile 2.1.99 with SERIAL_DETECT_IRQ,
does that work better ?

Etienne.
----------- etienne.lorrain@ibm.net
-- hdc: irq timeout: status=0xd0 { Busy }
-- ide1: reset: success
----------> I like Linux !

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu