Opened 14 years ago

Closed 14 years ago

#463 closed defect (worksforme)

The presence of the ISA bus driver and the USB HC drivers hangs the system during boot

Reported by: Jakub Jermář Owned by: Jakub Jermář
Priority: major Milestone: 0.5.0
Component: helenos/drv/isa Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

mainline,1376 changed the ISA-bridge match ID from the vendor/device scheme to the class/subclass scheme. Unfortunately, the change hangs my desktop shortly after input is started. Reverting the change fixes the problem.

My lspci -nn output:

00:00.0 Host bridge [0600]: Advanced Micro Devices [AMD] RS880 Host Bridge [1022:9601]
00:01.0 PCI bridge [0604]: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (int gfx) [1022:9602]
00:0a.0 PCI bridge [0604]: Advanced Micro Devices [AMD] RS780/RS880 PCI to PCI bridge (PCIE port 5) [1022:9609]
00:11.0 SATA controller [0106]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] [1002:4390] (rev 40)
00:12.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:12.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:13.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:13.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:14.0 SMBus [0c05]: Advanced Micro Devices [AMD] nee ATI SBx00 SMBus Controller [1002:4385] (rev 41)
00:14.1 IDE interface [0101]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 IDE Controller [1002:439c] (rev 40)
00:14.2 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI SBx00 Azalia (Intel HDA) [1002:4383] (rev 40)
00:14.3 ISA bridge [0601]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 LPC host controller [1002:439d] (rev 40)
00:14.4 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SBx00 PCI to PCI Bridge [1002:4384] (rev 40)
00:14.5 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI2 Controller [1002:4399]
00:15.0 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) [1002:43a0]
00:15.1 PCI bridge [0604]: Advanced Micro Devices [AMD] nee ATI SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1) [1002:43a1]
00:16.0 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
00:16.2 USB controller [0c03]: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
00:18.0 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration [1022:1200]
00:18.1 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Address Map [1022:1201]
00:18.2 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller [1022:1202]
00:18.3 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control [1022:1203]
00:18.4 Host bridge [0600]: Advanced Micro Devices [AMD] Family 10h Processor Link Control [1022:1204]
01:05.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI RS880 [Radeon HD 4250] [1002:9715]
01:05.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI RS880 HDMI Audio [Radeon HD 4200 Series] [1002:970f]
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 03)
03:0e.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) [104c:8024]
04:00.0 SATA controller [0106]: JMicron Technology Corp. JMB363 SATA/IDE Controller [197b:2363] (rev 02)
04:00.1 IDE interface [0101]: JMicron Technology Corp. JMB363 SATA/IDE Controller [197b:2363] (rev 02)

Change History (9)

comment:1 by Jakub Jermář, 14 years ago

Guessing the problem may be related to the fact that the ISA bridge was actually properly discovered after mainline,1376.

comment:2 by Martin Decky, 14 years ago

Yes. Therefore I would not call it a regression. It is simply a bug in the ISA driver which did not manifest before switching to the class/subclass detection because the driver was not loaded at all for your hardware configuration.

comment:3 by Jakub Jermář, 14 years ago

Summary: Regression in mainline,1376 when booting on real hw → The presence of ISA bus driver hangs the system during boot

This indeed seems to be a problem of the ISA driver. Keeping the ISA bus driver and only excluding i8042 and ps2mouse from the image doesn't fix the hang while excluding also the ISA driver does. I am changing the summary to reflect this fact.

comment:4 by Jakub Jermář, 14 years ago

Summary: The presence of ISA bus driver hangs the system during boot → The presence of the ISA bus driver hangs the system during boot

comment:5 by Jakub Jermář, 14 years ago

Summary: The presence of the ISA bus driver hangs the system during boot → The presence of the ISA bus driver and the USB HC drivers hangs the system during boot

Interestingly enough, if I exclude the USB host controller drivers and keep the ISA bus driver, the system boots up normally.

comment:6 by Jakub Jermář, 14 years ago

It looks like the ISA and USB HC drivers merely create a suitable environment for some sort of a timing sensitive bug which manifests itself by sudden inability to spawn or complete spawning a new instance of loader.

comment:7 by Jakub Jermář, 14 years ago

Further investigation reveals that a new instance of loader hangs because the kernel stops ticking. The kernel console shows several 'PIC spurious interrupt' messages. I also noticed that on this system, IRQ 5 is shared by the ISA driver (ne2k slot) and the USB HC (ohci). There is no ne2k NIC on my system though. I suspect this is related and the kernel probably hangs as a result of handling the shared IRQ 5. Disabling the IRQ enabling code in the i8259 irc service allows the system to boot into bdsh.

comment:8 by Jakub Jermář, 14 years ago

Owner: set to Jakub Jermář
Status: new → assigned

comment:9 by Jakub Jermář, 14 years ago

Resolution: → worksforme
Status: assigned → closed

After mainline,1545, the issue is no longer reproducible. The role of the mis-detected ne2k in the hang remains unclear though.

Note: See TracTickets for help on using tickets.