Most recent kernel where this bug did not occur: 2.6.13 Distribution: gentoo (gentoo+vanilla sources) Hardware Environment: PIII-M 600MHz, PIIX4/ICH, TI PCI1410 card Cardbus Software Environment: gcc 3.3.5/3.3.6 Problem Description: kernel boot stops when it comes to PCI initialisation (log writen by hand): PCI: Bus 1, cardbus bridge: 0000:00:08.0 IO window: 00001000-000010ff IO window: 00001400-000014ff PREFETCH window: 12000000-13ffffff MEM window: 14000000-15ffffff PCI: Found IRQ 10 for device 0000:00:08.0 Machine check exception polling timer started. After this system hangs. I noticed that all window-lines have different adresses in 2.6.13. Steps to reproduce: boot >=2.6.14
Created attachment 6810 [details] config off 2.6.13-gentoo-r3
Created attachment 6811 [details] config of 2.6.15-rc5
Created attachment 6812 [details] dmesg off 2.6.13-gentoo-r3
Created attachment 6813 [details] /proc/pci with 2.6.13-gentoo-r3
Created attachment 6814 [details] output from lspci -v
Downstream bug: http://bugs.gentoo.org/115101
Does this still happen on 2.6.15?
Sorry for being late (christmas holiday). Yes the problem still exists with 2.6.15.
arg... its a one line patch... picked just the value from 2.6.13 in drivers/pci/ setup-bus.c: define CARDBUS_IO_SIZE I learned pascal at school, nothing more. Why nobody helped me?
Created attachment 7076 [details] CARDBUS_IO_SIZE 256 -> 4*1024
Linus, Your commit 26aad69e3dd854abe9028ca873fb40b410a39dd7 (http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=26aad69e3dd854abe9028ca873fb40b410a39dd7) from back in August appears to have caused this regression. Any ideas?
On Thu, 19 Jan 2006, bugme-daemon@bugzilla.kernel.org wrote: > > Your commit 26aad69e3dd854abe9028ca873fb40b410a39dd7 > (http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=26aad69e3dd854abe9028ca873fb40b410a39dd7) > from back in August appears to have caused this regression. > > Any ideas? I bet that his machine has something magical that is covered by either of the new IO window selection logic: PCI: Bus 1, cardbus bridge: 0000:00:08.0 IO window: 00001000-000010ff IO window: 00001400-000014ff and the cardbus IO size thing was just totally random in that it just caused a different IO allocation layout. In the working config, the bigger windows means that the allocation is instead PCI: Bus 1, cardbus bridge: 0000:00:08.0 IO window: 00002000-00002fff IO window: 00004000-00004fff but I _really_ don't see what it could be. Sasha: can you try 2.6.15 with that one line changed back? I'd like to see the bootup dmesg output for that (to see if you have any mention of the magic PIIX4 resources in your allocations..) Linus
Created attachment 7079 [details] dmesg output with working 2.6.15 (CARDBUS_IO_SIZE=4*1024)
later kernels (2.6.18-rc2 and higher) should have this fixed by this commit: http://www.kernel.org/git/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c67646641cab01c93a56674bfcd963f55442dad5 it's a one-liner and should apply to earlier kernels as well.
Thanks Daniel! The effected laptop is 500 km and 14 days away. Will test your patch as soon as I have it back.
confirmed. the patch listed above with the acpi quirk works (tested with 2.6.17.11).