* 2.6.13-rc2 hangs at boot
@ 2005-07-06 13:47 Tero Roponen
2005-07-07 1:27 ` Jon Smirl
0 siblings, 1 reply; 23+ messages in thread
From: Tero Roponen @ 2005-07-06 13:47 UTC (permalink / raw)
To: gregkh; +Cc: linux-kernel
Hi,
my computer (a ThinkPad 380XD laptop) hangs at boot in 2.6.13-rc2.
When I revert the patch below everything seems to be fine.
thanks,
Tero Roponen
Patch to revert:
Author: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Date: Wed, 15 Jun 2005 14:59:27 +0000 (+0400)
Source: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=299de0343c7d18448a69c635378342e9214b14af
[PATCH] PCI: pci_assign_unassigned_resources() on x86
- Add sanity check for io[port,mem]_resource in setup-bus.c. These
resources look like "free" as they have no parents, but obviously
we must not touch them.
- In i386.c:pci_allocate_bus_resources(), if a bridge resource cannot be
allocated for some reason, then clear its flags. This prevents any child
allocations in this range, so the setup-bus code will work with a clean
resource sub-tree.
- i386.c:pcibios_enable_resources() doesn't enable bridges, as it checks
only resources 0-5, which looks like a clear bug to me. I suspect it
might break hotplug as well in some cases.
From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- a/arch/i386/pci/common.c
+++ b/arch/i386/pci/common.c
@@ -165,6 +165,7 @@ static int __init pcibios_init(void)
if ((pci_probe & PCI_BIOS_SORT) && !(pci_probe & PCI_NO_SORT))
pcibios_sort();
#endif
+ pci_assign_unassigned_resources();
return 0;
}
--- a/arch/i386/pci/i386.c
+++ b/arch/i386/pci/i386.c
@@ -106,11 +106,16 @@ static void __init pcibios_allocate_bus_
if ((dev = bus->self)) {
for (idx = PCI_BRIDGE_RESOURCES; idx < PCI_NUM_RESOURCES; idx++) {
r = &dev->resource[idx];
- if (!r->start)
+ if (!r->flags)
continue;
pr = pci_find_parent_resource(dev, r);
- if (!pr || request_resource(pr, r) < 0)
+ if (!r->start || !pr || request_resource(pr, r) < 0) {
printk(KERN_ERR "PCI: Cannot allocate resource region %d of bridge %s\n", idx, pci_name(dev));
+ /* Something is wrong with the region.
+ Invalidate the resource to prevent child
+ resource allocations in this range. */
+ r->flags = 0;
+ }
}
}
pcibios_allocate_bus_resources(&bus->children);
@@ -227,7 +232,7 @@ int pcibios_enable_resources(struct pci_
pci_read_config_word(dev, PCI_COMMAND, &cmd);
old_cmd = cmd;
- for(idx=0; idx<6; idx++) {
+ for(idx = 0; idx < PCI_NUM_RESOURCES; idx++) {
/* Only set up the requested stuff */
if (!(mask & (1<<idx)))
continue;
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -273,6 +273,8 @@ find_free_bus_resource(struct pci_bus *b
for (i = 0; i < PCI_BUS_NUM_RESOURCES; i++) {
r = bus->resource[i];
+ if (r == &ioport_resource || r == &iomem_resource)
+ continue;
if (r && (r->flags & type_mask) == type && !r->parent)
return r;
}
^ permalink raw reply [flat|nested] 23+ messages in thread* Re: 2.6.13-rc2 hangs at boot 2005-07-06 13:47 2.6.13-rc2 hangs at boot Tero Roponen @ 2005-07-07 1:27 ` Jon Smirl 2005-07-07 9:59 ` Ivan Kokshaysky ` (2 more replies) 0 siblings, 3 replies; 23+ messages in thread From: Jon Smirl @ 2005-07-07 1:27 UTC (permalink / raw) To: Tero Roponen, ink; +Cc: gregkh, linux-kernel I'm dead on a Dell PE400SC without reverting this. On 7/6/05, Tero Roponen <teanropo@cc.jyu.fi> wrote: > Hi, > > my computer (a ThinkPad 380XD laptop) hangs at boot in 2.6.13-rc2. > When I revert the patch below everything seems to be fine. > > thanks, > Tero Roponen > > > Patch to revert: > > Author: Ivan Kokshaysky <ink@jurassic.park.msu.ru> > Date: Wed, 15 Jun 2005 14:59:27 +0000 (+0400) > Source: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=299de0343c7d18448a69c635378342e9214b14af > > [PATCH] PCI: pci_assign_unassigned_resources() on x86 > > - Add sanity check for io[port,mem]_resource in setup-bus.c. These > resources look like "free" as they have no parents, but obviously > we must not touch them. > - In i386.c:pci_allocate_bus_resources(), if a bridge resource cannot be > allocated for some reason, then clear its flags. This prevents any child > allocations in this range, so the setup-bus code will work with a clean > resource sub-tree. > - i386.c:pcibios_enable_resources() doesn't enable bridges, as it checks > only resources 0-5, which looks like a clear bug to me. I suspect it > might break hotplug as well in some cases. > > From: Ivan Kokshaysky <ink@jurassic.park.msu.ru> > Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> > > --- a/arch/i386/pci/common.c > +++ b/arch/i386/pci/common.c > @@ -165,6 +165,7 @@ static int __init pcibios_init(void) > if ((pci_probe & PCI_BIOS_SORT) && !(pci_probe & PCI_NO_SORT)) > pcibios_sort(); > #endif > + pci_assign_unassigned_resources(); > return 0; > } > > --- a/arch/i386/pci/i386.c > +++ b/arch/i386/pci/i386.c > @@ -106,11 +106,16 @@ static void __init pcibios_allocate_bus_ > if ((dev = bus->self)) { > for (idx = PCI_BRIDGE_RESOURCES; idx < PCI_NUM_RESOURCES; idx++) { > r = &dev->resource[idx]; > - if (!r->start) > + if (!r->flags) > continue; > pr = pci_find_parent_resource(dev, r); > - if (!pr || request_resource(pr, r) < 0) > + if (!r->start || !pr || request_resource(pr, r) < 0) { > printk(KERN_ERR "PCI: Cannot allocate resource region %d of bridge %s\n", idx, pci_name(dev)); > + /* Something is wrong with the region. > + Invalidate the resource to prevent child > + resource allocations in this range. */ > + r->flags = 0; > + } > } > } > pcibios_allocate_bus_resources(&bus->children); > @@ -227,7 +232,7 @@ int pcibios_enable_resources(struct pci_ > > pci_read_config_word(dev, PCI_COMMAND, &cmd); > old_cmd = cmd; > - for(idx=0; idx<6; idx++) { > + for(idx = 0; idx < PCI_NUM_RESOURCES; idx++) { > /* Only set up the requested stuff */ > if (!(mask & (1<<idx))) > continue; > --- a/drivers/pci/setup-bus.c > +++ b/drivers/pci/setup-bus.c > @@ -273,6 +273,8 @@ find_free_bus_resource(struct pci_bus *b > > for (i = 0; i < PCI_BUS_NUM_RESOURCES; i++) { > r = bus->resource[i]; > + if (r == &ioport_resource || r == &iomem_resource) > + continue; > if (r && (r->flags & type_mask) == type && !r->parent) > return r; > } > - > 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/ > -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.13-rc2 hangs at boot 2005-07-07 1:27 ` Jon Smirl @ 2005-07-07 9:59 ` Ivan Kokshaysky 2005-07-07 10:33 ` Tero Roponen 2005-07-07 13:59 ` Jon Smirl [not found] ` <20050728233408.550939d4.akpm@osdl.org> 2005-08-04 20:49 ` 2.6.13-rc2 hangs at boot Andrew Morton 2 siblings, 2 replies; 23+ messages in thread From: Ivan Kokshaysky @ 2005-07-07 9:59 UTC (permalink / raw) To: Jon Smirl; +Cc: Tero Roponen, gregkh, linux-kernel On Wed, Jul 06, 2005 at 09:27:11PM -0400, Jon Smirl wrote: > I'm dead on a Dell PE400SC without reverting this. Jon, can you try this one instead: http://lkml.org/lkml/2005/7/6/273 If it doesn't help, I'd like to see 'lspci -vv' from your machine. Ivan. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.13-rc2 hangs at boot 2005-07-07 9:59 ` Ivan Kokshaysky @ 2005-07-07 10:33 ` Tero Roponen 2005-07-07 12:31 ` Ivan Kokshaysky 2005-07-07 13:59 ` Jon Smirl 1 sibling, 1 reply; 23+ messages in thread From: Tero Roponen @ 2005-07-07 10:33 UTC (permalink / raw) To: Ivan Kokshaysky; +Cc: Jon Smirl, gregkh, linux-kernel On Thu, 7 Jul 2005, Ivan Kokshaysky wrote: > On Wed, Jul 06, 2005 at 09:27:11PM -0400, Jon Smirl wrote: > > I'm dead on a Dell PE400SC without reverting this. > > Jon, can you try this one instead: > http://lkml.org/lkml/2005/7/6/273 > > If it doesn't help, I'd like to see 'lspci -vv' from your machine. > > Ivan. > Hi, I tested that patch, but it didn't work. When I boot 2.6.12 or 2.6.13-rc1 everything is fine. Working 2.6.12 prints this while booting: ... hda: IBM-DPLA-25120, ATA DISK drive hdb: SANYO CRD-S372B, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... Probing IDE interface ide2... Probing IDE interface ide3... Probing IDE interface ide4... Probing IDE interface ide5... hda: max request size: 128KiB hda: 10009440 sectors (5124 MB) w/468KiB Cache, CHS=10592/15/63, UDMA(33) hda: cache flushes not supported hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 hda9 hda10 > hda4 ... 2.6.13-rc2 with and without tested patch display this: ... hda: cache flushes not supported hda: hda1 hda2 hda3 < Then it hangs for a while and shows something like this: dma_timer_expiry: dma status == 0x61 thanks, Tero Roponen lspci -vv output: 00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 02) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR+ Latency: 64 Region 0: Memory at <unassigned> (32-bit, prefetchable) 00:02.0 CardBus bridge: Texas Instruments PCI1250 (rev 02) Subsystem: IBM ThinkPad 600 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 168, Cache Line Size 08 Interrupt: pin A routed to IRQ 11 Region 0: Memory at 50000000 (32-bit, non-prefetchable) [size=4K] Bus: primary=00, secondary=01, subordinate=04, sec-latency=176 Memory window 0: 04000000-043ff000 (prefetchable) Memory window 1: 04400000-047ff000 I/O window 0: 00004000-000040ff I/O window 1: 00004400-000044ff BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+ 16-bit legacy interface ports at 0001 00:02.1 CardBus bridge: Texas Instruments PCI1250 (rev 02) Subsystem: IBM ThinkPad 600 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 168, Cache Line Size 08 Interrupt: pin B routed to IRQ 11 Region 0: Memory at 51000000 (32-bit, non-prefetchable) [size=4K] Bus: primary=00, secondary=05, subordinate=08, sec-latency=176 Memory window 0: 04800000-04bff000 (prefetchable) Memory window 1: 04c00000-04fff000 I/O window 0: 00004800-000048ff I/O window 1: 00004c00-00004cff BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+ 16-bit legacy interface ports at 0001 00:03.0 VGA compatible controller: Neomagic Corporation NM2160 [MagicGraph 128XD] (rev 01) (prog-if 00 [VGA]) Subsystem: IBM MagicGraph 128XD Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Interrupt: pin A routed to IRQ 11 Region 0: Memory at 48000000 (32-bit, prefetchable) [size=16M] Region 1: Memory at 49000000 (32-bit, non-prefetchable) [size=2M] Region 2: Memory at 49400000 (32-bit, non-prefetchable) [size=1M] 00:06.0 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 01) Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 0 00:06.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 80 [Master]) Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 32 Region 4: I/O ports at fcf0 [size=16] 00:06.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if 00 [UHCI]) Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Latency: 48 Interrupt: pin D routed to IRQ 11 Region 4: I/O ports at 9000 [size=32] 00:06.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 01) Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Interrupt: pin ? routed to IRQ 9 ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.13-rc2 hangs at boot 2005-07-07 10:33 ` Tero Roponen @ 2005-07-07 12:31 ` Ivan Kokshaysky 2005-07-07 12:47 ` Tero Roponen 0 siblings, 1 reply; 23+ messages in thread From: Ivan Kokshaysky @ 2005-07-07 12:31 UTC (permalink / raw) To: Tero Roponen; +Cc: Jon Smirl, gregkh, linux-kernel On Thu, Jul 07, 2005 at 01:33:46PM +0300, Tero Roponen wrote: > 00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 02) > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- > Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR+ > Latency: 64 > Region 0: Memory at <unassigned> (32-bit, prefetchable) ^^^^^^^^^^^^ I'd bet this is the cause of your problem. The pci_assign_unassigned_resources() is not aware of potential problems with i386 host bridges and just reassigns this region. Which effectively turns the DMA off on your machine, I guess. The patch here (against clean 2.6.13-rc2) should fix that. Ivan. --- 2.6.13-rc2/arch/i386/pci/i386.c Thu Jul 7 15:38:54 2005 +++ linux/arch/i386/pci/i386.c Thu Jul 7 15:40:26 2005 @@ -176,10 +176,6 @@ static int __init pcibios_assign_resourc for_each_pci_dev(dev) { int class = dev->class >> 8; - /* Don't touch classless devices and host bridges */ - if (!class || class == PCI_CLASS_BRIDGE_HOST) - continue; - for(idx=0; idx<6; idx++) { r = &dev->resource[idx]; @@ -195,8 +191,15 @@ static int __init pcibios_assign_resourc * the BIOS forgot to do so or because we have decided the old * address was unusable for some reason. */ - if (!r->start && r->end) - pci_assign_resource(dev, idx); + if (!r->start && r->end) { + /* Don't touch classless devices and host + bridges and also hide their unassigned + resources from the rest of PCI subsystem. */ + if (!class || class == PCI_CLASS_BRIDGE_HOST) + r->flags = 0; + else + pci_assign_resource(dev, idx); + } } if (pci_probe & PCI_ASSIGN_ROMS) { ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.13-rc2 hangs at boot 2005-07-07 12:31 ` Ivan Kokshaysky @ 2005-07-07 12:47 ` Tero Roponen 2005-07-07 13:41 ` Ivan Kokshaysky 0 siblings, 1 reply; 23+ messages in thread From: Tero Roponen @ 2005-07-07 12:47 UTC (permalink / raw) To: Ivan Kokshaysky; +Cc: Jon Smirl, gregkh, linux-kernel On Thu, 7 Jul 2005, Ivan Kokshaysky wrote: > On Thu, Jul 07, 2005 at 01:33:46PM +0300, Tero Roponen wrote: > > 00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) (rev 02) > > Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- > > Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR+ > > Latency: 64 > > Region 0: Memory at <unassigned> (32-bit, prefetchable) > ^^^^^^^^^^^^ > I'd bet this is the cause of your problem. > The pci_assign_unassigned_resources() is not aware of potential > problems with i386 host bridges and just reassigns this region. > Which effectively turns the DMA off on your machine, I guess. > > The patch here (against clean 2.6.13-rc2) should fix that. > > Ivan. Hi, I just tested the patch, but it didn't help. It still hangs. - Tero Roponen ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.13-rc2 hangs at boot 2005-07-07 12:47 ` Tero Roponen @ 2005-07-07 13:41 ` Ivan Kokshaysky 2005-07-07 13:53 ` Tero Roponen 2005-07-07 14:13 ` Tero Roponen 0 siblings, 2 replies; 23+ messages in thread From: Ivan Kokshaysky @ 2005-07-07 13:41 UTC (permalink / raw) To: Tero Roponen; +Cc: Jon Smirl, gregkh, linux-kernel On Thu, Jul 07, 2005 at 03:47:58PM +0300, Tero Roponen wrote: > I just tested the patch, but it didn't help. It still hangs. Well, the code in setup-bus.c does actually know about host bridges, so the patch was just no-op... Tero (and others), can you post dmesg from working kernel and, if possible, from 2.6.13-rc2 captured from serial console? Ivan. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.13-rc2 hangs at boot 2005-07-07 13:41 ` Ivan Kokshaysky @ 2005-07-07 13:53 ` Tero Roponen 2005-07-07 14:13 ` Tero Roponen 1 sibling, 0 replies; 23+ messages in thread From: Tero Roponen @ 2005-07-07 13:53 UTC (permalink / raw) To: Ivan Kokshaysky; +Cc: Jon Smirl, gregkh, linux-kernel On Thu, 7 Jul 2005, Ivan Kokshaysky wrote: > On Thu, Jul 07, 2005 at 03:47:58PM +0300, Tero Roponen wrote: > > I just tested the patch, but it didn't help. It still hangs. > > Well, the code in setup-bus.c does actually know about host > bridges, so the patch was just no-op... > > Tero (and others), can you post dmesg from working kernel and, > if possible, from 2.6.13-rc2 captured from serial console? > > Ivan. > Below is my dmesg from 2.6.12. Unfortunately, I don't have another machine available, so I can't use serial console. - Tero Roponen Linux version 2.6.12 (terrop@laptop) (gcc version 4.0.0 20050525 (Red Hat 4.0.0-9)) #2 Sat Jun 18 11:03:55 EEST 2005 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 0000000003fd0000 (usable) BIOS-e820: 0000000003fd0000 - 0000000003fdf000 (ACPI data) BIOS-e820: 0000000003fdf000 - 0000000003fe0000 (ACPI NVS) BIOS-e820: 0000000003fe0000 - 0000000004000000 (reserved) BIOS-e820: 00000000fffe0000 - 0000000100000000 (reserved) 63MB LOWMEM available. On node 0 totalpages: 16336 DMA zone: 4096 pages, LIFO batch:1 Normal zone: 12240 pages, LIFO batch:3 HighMem zone: 0 pages, LIFO batch:1 DMI 2.0 present. Allocating PCI resources starting at 04000000 (gap: 04000000:fbfe0000) Built 1 zonelists Kernel command line: Initializing CPU#0 PID hash table entries: 256 (order: 8, 4096 bytes) Detected 265.384 MHz processor. Using tsc for high-res timesource Console: colour VGA+ 80x25 Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 61404k/65344k available (1856k kernel code, 3456k reserved, 683k data, 136k init, 0k highmem) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay loop... 521.21 BogoMIPS (lpj=260608) Mount-cache hash table entries: 512 CPU: After generic identify, caps: 0183f9ff 00000000 00000000 00000000 00000000 00000000 00000000 CPU: After vendor identify, caps: 0183f9ff 00000000 00000000 00000000 00000000 00000000 00000000 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 512K CPU: After all inits, caps: 0183f9ff 00000000 00000000 00000040 00000000 00000000 00000000 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. CPU: Intel Pentium II (Deschutes) stepping 02 Enabling fast FPU save and restore... done. Checking 'hlt' instruction... OK. NET: Registered protocol family 16 PCI: PCI BIOS revision 2.10 entry at 0xfd880, last bus=0 PCI: Using configuration type 1 mtrr: v2.0 (20020519) Linux Plug and Play Support v0.97 (c) Adam Belay PnPBIOS: Scanning system for PnP BIOS support... PnPBIOS: Found PnP BIOS installation structure at 0xc00fe700 PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xe724, dseg 0xf0000 PnPBIOS: 20 nodes reported by PnP BIOS; 20 recorded by driver PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) Boot video device is 0000:00:03.0 PCI: Using IRQ router PIIX/ICH [8086/7110] at 0000:00:06.0 pnp: 00:0a: ioport range 0x4d0-0x4d1 has been reserved pnp: 00:0a: ioport range 0x15e0-0x15ef has been reserved pnp: 00:0a: ioport range 0xef00-0xefaf could not be reserved IBM machine detected. Enabling interrupts during APM calls. apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac) Initializing Cryptographic API Limiting direct PCI/PCI transfers. PCI: Found IRQ 11 for device 0000:00:03.0 PCI: Sharing IRQ 11 with 0000:00:02.0 neofb: mapped io at c4800000 Autodetected internal display Panel is a 800x600 color TFT display neofb: mapped framebuffer at c4a80000 neofb v0.4.2: 2048kB VRAM, using 800x600, 37.878kHz, 60Hz Console: switching to colour frame buffer device 100x37 fb0: MagicGraph 128XD frame buffer device Real Time Clock Driver v1.12 PNP: PS/2 Controller [PNP0303,PNP0f13] at 0x60,0x64 irq 1,12 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 $ 8 ports, IRQ sharing disabled ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A io scheduler noop registered io scheduler anticipatory registered Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx PIIX4: IDE controller at PCI slot 0000:00:06.1 PIIX4: chipset revision 1 PIIX4: not 100% native mode: will probe irqs later ide0: BM-DMA at 0xfcf0-0xfcf7, BIOS settings: hda:DMA, hdb:DMA Probing IDE interface ide0... hda: IBM-DPLA-25120, ATA DISK drive hdb: SANYO CRD-S372B, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Probing IDE interface ide1... Probing IDE interface ide2... Probing IDE interface ide3... Probing IDE interface ide4... Probing IDE interface ide5... hda: max request size: 128KiB hda: 10009440 sectors (5124 MB) w/468KiB Cache, CHS=10592/15/63, UDMA(33) hda: cache flushes not supported hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 hda9 hda10 > hda4 mice: PS/2 mouse device common for all mice input: PC Speaker NET: Registered protocol family 2 IP: routing cache hash table of 512 buckets, 4Kbytes TCP established hash table entries: 4096 (order: 3, 32768 bytes) TCP bind hash table entries: 4096 (order: 2, 16384 bytes) TCP: Hash tables configured (established 4096 bind 4096) Initializing IPsec netlink socket NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 15 input: AT Translated Set 2 keyboard on isa0060/serio0 ReiserFS: hda6: found reiserfs format "3.6" with standard journal ReiserFS: hda6: using ordered data mode ReiserFS: hda6: journal params: device hda6, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: hda6: checking transaction log (hda6) ReiserFS: hda6: Using r5 hash to sort names VFS: Mounted root (reiserfs filesystem) readonly. Freeing unused kernel memory: 136k freed input: PS/2 Generic Mouse on isa0060/serio1 hdb: ATAPI 24X CD-ROM drive, 256kB Cache, DMA Uniform CD-ROM driver Revision: 3.20 Floppy drive(s): fd0 is 1.44M FDC 0 is a National Semiconductor PC87306 Linux Kernel Card Services options: [pci] [cardbus] [pm] PCI: Found IRQ 11 for device 0000:00:02.0 PCI: Sharing IRQ 11 with 0000:00:03.0 Yenta: CardBus bridge found at 0000:00:02.0 [1014:0092] Yenta: Enabling burst memory read transactions Yenta: Using CSCINT to route CSC interrupts to PCI Yenta: Routing CardBus interrupts to PCI Yenta TI: socket 0000:00:02.0, mfunc 0xfba97543, devctl 0x62 Yenta: ISA IRQ mask 0x0498, PCI irq 11 Socket status: 30000006 PCI: Found IRQ 11 for device 0000:00:02.1 Yenta: CardBus bridge found at 0000:00:02.1 [1014:0092] Yenta: Using CSCINT to route CSC interrupts to PCI Yenta: Routing CardBus interrupts to PCI Yenta TI: socket 0000:00:02.1, mfunc 0xfba97543, devctl 0x62 Yenta: ISA IRQ mask 0x0498, PCI irq 11 Socket status: 30000010 ReiserFS: hda2: found reiserfs format "3.6" with standard journal ReiserFS: hda2: using ordered data mode ReiserFS: hda2: journal params: device hda2, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: hda2: checking transaction log (hda2) ReiserFS: hda2: Using r5 hash to sort names ReiserFS: hda5: found reiserfs format "3.6" with standard journal ReiserFS: hda5: using ordered data mode ReiserFS: hda5: journal params: device hda5, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: hda5: checking transaction log (hda5) ReiserFS: hda5: Using r5 hash to sort names kjournald starting. Commit interval 5 seconds EXT3 FS on hda7, internal journal EXT3-fs: mounted filesystem with ordered data mode. ReiserFS: hda8: found reiserfs format "3.6" with standard journal ReiserFS: hda8: using ordered data mode ReiserFS: hda8: journal params: device hda8, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: hda8: checking transaction log (hda8) ReiserFS: hda8: Using tea hash to sort names kjournald starting. Commit interval 5 seconds EXT3 FS on hda10, internal journal EXT3-fs: mounted filesystem with ordered data mode. cs: IO port probe 0xc00-0xcff: clean. cs: IO port probe 0xc00-0xcff: clean. cs: IO port probe 0x800-0x8ff: clean. cs: IO port probe 0x800-0x8ff: clean. cs: IO port probe 0x100-0x4ff: excluding 0x200-0x207 0x220-0x22f 0x378-0x37f cs: IO port probe 0x100-0x4ff: excluding 0x200-0x207 0x220-0x22f 0x378-0x37f cs: IO port probe 0xa00-0xaff: clean. cs: IO port probe 0xa00-0xaff: clean. cs: memory probe 0xa0000000-0xa0ffffff: clean. eth0: Xircom: port 0x300, irq 3, hwaddr 00:80:C7:72:21:6B Adding 131064k swap on /usr/SWAPFILE. Priority:-1 extents:206 eth0: switching to 10Base2 port eth0: MII selected eth0: media 10Base2, silicon revision 4 eth0: MII selected eth0: media 10Base2, silicon revision 4 eth0: MII selected eth0: media 10Base2, silicon revision 4 atkbd.c: Keyboard on isa0060/serio0 reports too many keys pressed. atkbd.c: Keyboard on isa0060/serio0 reports too many keys pressed. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.13-rc2 hangs at boot 2005-07-07 13:41 ` Ivan Kokshaysky 2005-07-07 13:53 ` Tero Roponen @ 2005-07-07 14:13 ` Tero Roponen 2005-07-08 6:28 ` Ivan Kokshaysky 1 sibling, 1 reply; 23+ messages in thread From: Tero Roponen @ 2005-07-07 14:13 UTC (permalink / raw) To: Ivan Kokshaysky; +Cc: Jon Smirl, gregkh, linux-kernel [-- Attachment #1: Type: TEXT/PLAIN, Size: 631 bytes --] On Thu, 7 Jul 2005, Ivan Kokshaysky wrote: > On Thu, Jul 07, 2005 at 03:47:58PM +0300, Tero Roponen wrote: > > I just tested the patch, but it didn't help. It still hangs. > > Well, the code in setup-bus.c does actually know about host > bridges, so the patch was just no-op... > > Tero (and others), can you post dmesg from working kernel and, > if possible, from 2.6.13-rc2 captured from serial console? > > Ivan. > I applied your original patch (the no-op one) and the end=0 patch. With those applied I could boot into login prompt. Attached are lspci -vv and dmesg outputs from 2.6.12 and 2.6.13-rc2 kernels. - Tero Roponen [-- Attachment #2: Type: APPLICATION/octet-stream, Size: 920 bytes --] [-- Attachment #3: Type: APPLICATION/octet-stream, Size: 918 bytes --] [-- Attachment #4: Type: APPLICATION/octet-stream, Size: 3310 bytes --] [-- Attachment #5: Type: APPLICATION/octet-stream, Size: 3200 bytes --] ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.13-rc2 hangs at boot 2005-07-07 14:13 ` Tero Roponen @ 2005-07-08 6:28 ` Ivan Kokshaysky 2005-07-08 7:57 ` [SOLVED] " Tero Roponen 0 siblings, 1 reply; 23+ messages in thread From: Ivan Kokshaysky @ 2005-07-08 6:28 UTC (permalink / raw) To: Tero Roponen; +Cc: Jon Smirl, gregkh, linux-kernel On Thu, Jul 07, 2005 at 05:13:49PM +0300, Tero Roponen wrote: > I applied your original patch (the no-op one) and the > end=0 patch. With those applied I could boot into login > prompt. Puzzling. None of these patches should affect your setup. And you still have DMA timeouts... > Attached are lspci -vv and dmesg outputs from > 2.6.12 and 2.6.13-rc2 kernels. The only difference is that under 2.6.13-rc2 the cardbus ranges are a lot bigger. With the patch here your PCI setup should be identical to 2.6.12. I don't think this fixes DMA problem, but just to be sure... Ivan. --- 2.6.13-rc2/drivers/pci/setup-bus.c Thu Jul 7 01:32:43 2005 +++ linux/drivers/pci/setup-bus.c Fri Jul 8 10:25:20 2005 @@ -40,8 +40,8 @@ * FIXME: IO should be max 256 bytes. However, since we may * have a P2P bridge below a cardbus bridge, we need 4K. */ -#define CARDBUS_IO_SIZE (4096) -#define CARDBUS_MEM_SIZE (32*1024*1024) +#define CARDBUS_IO_SIZE (256) +#define CARDBUS_MEM_SIZE (4*1024*1024) static void __devinit pbus_assign_resources_sorted(struct pci_bus *bus) ^ permalink raw reply [flat|nested] 23+ messages in thread
* [SOLVED] Re: 2.6.13-rc2 hangs at boot 2005-07-08 6:28 ` Ivan Kokshaysky @ 2005-07-08 7:57 ` Tero Roponen 2005-07-08 9:19 ` Ivan Kokshaysky 0 siblings, 1 reply; 23+ messages in thread From: Tero Roponen @ 2005-07-08 7:57 UTC (permalink / raw) To: Ivan Kokshaysky; +Cc: Jon Smirl, gregkh, linux-kernel On Fri, 8 Jul 2005, Ivan Kokshaysky wrote: Thanks! Vanilla 2.6.13-rc2 with below patch applied works perfectly! - Tero Roponen > On Thu, Jul 07, 2005 at 05:13:49PM +0300, Tero Roponen wrote: > > I applied your original patch (the no-op one) and the > > end=0 patch. With those applied I could boot into login > > prompt. > > Puzzling. None of these patches should affect your setup. > And you still have DMA timeouts... > > > Attached are lspci -vv and dmesg outputs from > > 2.6.12 and 2.6.13-rc2 kernels. > > The only difference is that under 2.6.13-rc2 the cardbus ranges > are a lot bigger. With the patch here your PCI setup should be > identical to 2.6.12. I don't think this fixes DMA problem, > but just to be sure... > > Ivan. > > --- 2.6.13-rc2/drivers/pci/setup-bus.c Thu Jul 7 01:32:43 2005 > +++ linux/drivers/pci/setup-bus.c Fri Jul 8 10:25:20 2005 > @@ -40,8 +40,8 @@ > * FIXME: IO should be max 256 bytes. However, since we may > * have a P2P bridge below a cardbus bridge, we need 4K. > */ > -#define CARDBUS_IO_SIZE (4096) > -#define CARDBUS_MEM_SIZE (32*1024*1024) > +#define CARDBUS_IO_SIZE (256) > +#define CARDBUS_MEM_SIZE (4*1024*1024) > > static void __devinit > pbus_assign_resources_sorted(struct pci_bus *bus) > ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [SOLVED] Re: 2.6.13-rc2 hangs at boot 2005-07-08 7:57 ` [SOLVED] " Tero Roponen @ 2005-07-08 9:19 ` Ivan Kokshaysky 2005-07-08 9:38 ` Tero Roponen 0 siblings, 1 reply; 23+ messages in thread From: Ivan Kokshaysky @ 2005-07-08 9:19 UTC (permalink / raw) To: Tero Roponen; +Cc: Jon Smirl, gregkh, linux-kernel On Fri, Jul 08, 2005 at 10:57:56AM +0300, Tero Roponen wrote: > Thanks! Vanilla 2.6.13-rc2 with below patch applied > works perfectly! Thanks for testing. Though, bad news are that it's still unclear why your machine doesn't like large cardbus windows and therefore how to fix that correctly. May I ask you to do couple of another tests with following variations of the latest patch (this will help to determine whether it's IO or MEM ranges to blame)? 1. #define CARDBUS_IO_SIZE (256) #define CARDBUS_MEM_SIZE (32*1024*1024) 2. #define CARDBUS_IO_SIZE (4096) #define CARDBUS_MEM_SIZE (4*1024*1024) Ivan. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [SOLVED] Re: 2.6.13-rc2 hangs at boot 2005-07-08 9:19 ` Ivan Kokshaysky @ 2005-07-08 9:38 ` Tero Roponen 2005-07-08 9:45 ` Ivan Kokshaysky 0 siblings, 1 reply; 23+ messages in thread From: Tero Roponen @ 2005-07-08 9:38 UTC (permalink / raw) To: Ivan Kokshaysky; +Cc: Jon Smirl, gregkh, linux-kernel On Fri, 8 Jul 2005, Ivan Kokshaysky wrote: > On Fri, Jul 08, 2005 at 10:57:56AM +0300, Tero Roponen wrote: > > Thanks! Vanilla 2.6.13-rc2 with below patch applied > > works perfectly! > > Thanks for testing. Though, bad news are that it's still unclear > why your machine doesn't like large cardbus windows and therefore > how to fix that correctly. > > May I ask you to do couple of another tests with following variations > of the latest patch (this will help to determine whether it's IO or > MEM ranges to blame)? > 1. > #define CARDBUS_IO_SIZE (256) > #define CARDBUS_MEM_SIZE (32*1024*1024) This works correctly. > > 2. > #define CARDBUS_IO_SIZE (4096) > #define CARDBUS_MEM_SIZE (4*1024*1024) This hangs at boot. > > Ivan. > - Tero Roponen ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [SOLVED] Re: 2.6.13-rc2 hangs at boot 2005-07-08 9:38 ` Tero Roponen @ 2005-07-08 9:45 ` Ivan Kokshaysky 0 siblings, 0 replies; 23+ messages in thread From: Ivan Kokshaysky @ 2005-07-08 9:45 UTC (permalink / raw) To: Tero Roponen; +Cc: Jon Smirl, gregkh, linux-kernel On Fri, Jul 08, 2005 at 12:38:28PM +0300, Tero Roponen wrote: > > #define CARDBUS_IO_SIZE (256) > > #define CARDBUS_MEM_SIZE (32*1024*1024) > > This works correctly. Thanks a lot. I'll go read the cardbus spec. Ivan. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.13-rc2 hangs at boot 2005-07-07 9:59 ` Ivan Kokshaysky 2005-07-07 10:33 ` Tero Roponen @ 2005-07-07 13:59 ` Jon Smirl 1 sibling, 0 replies; 23+ messages in thread From: Jon Smirl @ 2005-07-07 13:59 UTC (permalink / raw) To: Ivan Kokshaysky; +Cc: Tero Roponen, gregkh, linux-kernel Initialized end = 0 fixed me. On 7/7/05, Ivan Kokshaysky <ink@jurassic.park.msu.ru> wrote: > On Wed, Jul 06, 2005 at 09:27:11PM -0400, Jon Smirl wrote: > > I'm dead on a Dell PE400SC without reverting this. > > Jon, can you try this one instead: > http://lkml.org/lkml/2005/7/6/273 > > If it doesn't help, I'd like to see 'lspci -vv' from your machine. > > Ivan. > -- Jon Smirl jonsmirl@gmail.com ^ permalink raw reply [flat|nested] 23+ messages in thread
[parent not found: <20050728233408.550939d4.akpm@osdl.org>]
* 2.6.14-rc4: dma_timer_expiry [was 2.6.13-rc2 hangs at boot] [not found] ` <20050728233408.550939d4.akpm@osdl.org> @ 2005-07-29 8:09 ` Tero Roponen 2005-07-29 8:24 ` Andrew Morton 0 siblings, 1 reply; 23+ messages in thread From: Tero Roponen @ 2005-07-29 8:09 UTC (permalink / raw) To: Andrew Morton; +Cc: Jon Smirl, ink, gregkh, linux-kernel Hi, I just tested 2.6.13-rc4. At boot it prints: "dma_timer_expiry: dma status == 0x61" many times. That's the same problem as in 2.6.13-rc2. If I apply the following patch, everything seems to be fine. I'm not sure if this is the right thing to do, but it works for me. - Tero Roponen --- 2.6.13-rc2/drivers/pci/setup-bus.c Thu Jul 7 01:32:43 2005 +++ linux/drivers/pci/setup-bus.c Fri Jul 8 10:25:20 2005 @@ -40,8 +40,8 @@ * FIXME: IO should be max 256 bytes. However, since we may * have a P2P bridge below a cardbus bridge, we need 4K. */ -#define CARDBUS_IO_SIZE (4096) -#define CARDBUS_MEM_SIZE (32*1024*1024) +#define CARDBUS_IO_SIZE (256) +#define CARDBUS_MEM_SIZE (32*1024*1024) static void __devinit pbus_assign_resources_sorted(struct pci_bus *bus) ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.14-rc4: dma_timer_expiry [was 2.6.13-rc2 hangs at boot] 2005-07-29 8:09 ` 2.6.14-rc4: dma_timer_expiry [was 2.6.13-rc2 hangs at boot] Tero Roponen @ 2005-07-29 8:24 ` Andrew Morton 2005-07-29 8:35 ` Tero Roponen 0 siblings, 1 reply; 23+ messages in thread From: Andrew Morton @ 2005-07-29 8:24 UTC (permalink / raw) To: Tero Roponen; +Cc: jonsmirl, ink, gregkh, linux-kernel Tero Roponen <teanropo@cc.jyu.fi> wrote: > > Hi, > > I just tested 2.6.13-rc4. At boot it prints: > "dma_timer_expiry: dma status == 0x61" many times. > That's the same problem as in 2.6.13-rc2. > > If I apply the following patch, everything seems to be fine. > I'm not sure if this is the right thing to do, but it works for me. > > - > Tero Roponen > > > --- 2.6.13-rc2/drivers/pci/setup-bus.c Thu Jul 7 01:32:43 2005 > +++ linux/drivers/pci/setup-bus.c Fri Jul 8 10:25:20 2005 > @@ -40,8 +40,8 @@ > * FIXME: IO should be max 256 bytes. However, since we may > * have a P2P bridge below a cardbus bridge, we need 4K. > */ > -#define CARDBUS_IO_SIZE (4096) > -#define CARDBUS_MEM_SIZE (32*1024*1024) > +#define CARDBUS_IO_SIZE (256) > +#define CARDBUS_MEM_SIZE (32*1024*1024) > hm, how did you come up with that fix? Those numbers have been like that since forever. What's the latest 2.6 kernel which worked OK? Would it be possible for you to generate the `dmesg -s 100000' output for both good and bad kernels, see what the differences are? Thanks. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.14-rc4: dma_timer_expiry [was 2.6.13-rc2 hangs at boot] 2005-07-29 8:24 ` Andrew Morton @ 2005-07-29 8:35 ` Tero Roponen 2005-07-29 9:39 ` Andrew Morton 0 siblings, 1 reply; 23+ messages in thread From: Tero Roponen @ 2005-07-29 8:35 UTC (permalink / raw) To: Andrew Morton; +Cc: jonsmirl, ink, gregkh, linux-kernel On Fri, 29 Jul 2005, Andrew Morton wrote: > Tero Roponen <teanropo@cc.jyu.fi> wrote: > > > > Hi, > > > > I just tested 2.6.13-rc4. At boot it prints: > > "dma_timer_expiry: dma status == 0x61" many times. > > That's the same problem as in 2.6.13-rc2. > > > > If I apply the following patch, everything seems to be fine. > > I'm not sure if this is the right thing to do, but it works for me. > > > > - > > Tero Roponen > > > > > > --- 2.6.13-rc2/drivers/pci/setup-bus.c Thu Jul 7 01:32:43 2005 > > +++ linux/drivers/pci/setup-bus.c Fri Jul 8 10:25:20 2005 > > @@ -40,8 +40,8 @@ > > * FIXME: IO should be max 256 bytes. However, since we may > > * have a P2P bridge below a cardbus bridge, we need 4K. > > */ > > -#define CARDBUS_IO_SIZE (4096) > > -#define CARDBUS_MEM_SIZE (32*1024*1024) > > +#define CARDBUS_IO_SIZE (256) > > +#define CARDBUS_MEM_SIZE (32*1024*1024) > > > > hm, how did you come up with that fix? Those numbers have been like that > since forever. > > What's the latest 2.6 kernel which worked OK? > > Would it be possible for you to generate the `dmesg -s 100000' output for > both good and bad kernels, see what the differences are? > > Thanks. Hi, that patch was from Ivan Kokshaysky (http://lkml.org/lkml/2005/7/8/25) My original report is here: http://lkml.org/lkml/2005/7/6/174 - Tero Roponen ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.14-rc4: dma_timer_expiry [was 2.6.13-rc2 hangs at boot] 2005-07-29 8:35 ` Tero Roponen @ 2005-07-29 9:39 ` Andrew Morton 2005-08-01 7:22 ` Ivan Kokshaysky 0 siblings, 1 reply; 23+ messages in thread From: Andrew Morton @ 2005-07-29 9:39 UTC (permalink / raw) To: Tero Roponen; +Cc: jonsmirl, ink, gregkh, linux-kernel Tero Roponen <teanropo@cc.jyu.fi> wrote: > > On Fri, 29 Jul 2005, Andrew Morton wrote: > > > Tero Roponen <teanropo@cc.jyu.fi> wrote: > > > > > > Hi, > > > > > > I just tested 2.6.13-rc4. At boot it prints: > > > "dma_timer_expiry: dma status == 0x61" many times. > > > That's the same problem as in 2.6.13-rc2. > > > > > > If I apply the following patch, everything seems to be fine. > > > I'm not sure if this is the right thing to do, but it works for me. > > > > > > - > > > Tero Roponen > > > > > > > > > --- 2.6.13-rc2/drivers/pci/setup-bus.c Thu Jul 7 01:32:43 2005 > > > +++ linux/drivers/pci/setup-bus.c Fri Jul 8 10:25:20 2005 > > > @@ -40,8 +40,8 @@ > > > * FIXME: IO should be max 256 bytes. However, since we may > > > * have a P2P bridge below a cardbus bridge, we need 4K. > > > */ > > > -#define CARDBUS_IO_SIZE (4096) > > > -#define CARDBUS_MEM_SIZE (32*1024*1024) > > > +#define CARDBUS_IO_SIZE (256) > > > +#define CARDBUS_MEM_SIZE (32*1024*1024) > > > > > > > hm, how did you come up with that fix? Those numbers have been like that > > since forever. > > > > What's the latest 2.6 kernel which worked OK? > > > > Would it be possible for you to generate the `dmesg -s 100000' output for > > both good and bad kernels, see what the differences are? > > > > Thanks. > > Hi, > > that patch was from Ivan Kokshaysky (http://lkml.org/lkml/2005/7/8/25) OK. > My original report is here: http://lkml.org/lkml/2005/7/6/174 I see. Ivan, do we know what's going on here? ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.14-rc4: dma_timer_expiry [was 2.6.13-rc2 hangs at boot] 2005-07-29 9:39 ` Andrew Morton @ 2005-08-01 7:22 ` Ivan Kokshaysky 2005-08-01 7:42 ` Tero Roponen 0 siblings, 1 reply; 23+ messages in thread From: Ivan Kokshaysky @ 2005-08-01 7:22 UTC (permalink / raw) To: Andrew Morton Cc: Tero Roponen, jonsmirl, gregkh, linux-kernel, Mikael Pettersson On Fri, Jul 29, 2005 at 02:39:21AM -0700, Andrew Morton wrote: > Tero Roponen <teanropo@cc.jyu.fi> wrote: > > My original report is here: http://lkml.org/lkml/2005/7/6/174 > > I see. Ivan, do we know what's going on here? Sort of. The 4K cardbus windows are working fine for non-x86 architectures where all IO resources are usually well known and added to the resource tree properly. However, on x86 there are sometimes "hidden" system IO port ranges that aren't reported by BIOS, so the large (4K) cardbus windows overlap these ranges. Actually I don't like reducing CARDBUS_IO_SIZE to 256 bytes, because we lose an ability to handle cards with built-in p2p bridges (which require 4K for IO), plus it won't fix Sony VAIO problem. Tero and Mikael, can you try this one-liner instead? Ivan. --- 2.6.13-rc4/include/asm-i386/pci.h Sun Jul 31 14:32:09 2005 +++ linux/include/asm-i386/pci.h Mon Aug 1 08:29:18 2005 @@ -18,7 +18,7 @@ extern unsigned int pcibios_assign_all_b #define pcibios_scan_all_fns(a, b) 0 extern unsigned long pci_mem_start; -#define PCIBIOS_MIN_IO 0x1000 +#define PCIBIOS_MIN_IO 0x2000 #define PCIBIOS_MIN_MEM (pci_mem_start) #define PCIBIOS_MIN_CARDBUS_IO 0x4000 ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.14-rc4: dma_timer_expiry [was 2.6.13-rc2 hangs at boot] 2005-08-01 7:22 ` Ivan Kokshaysky @ 2005-08-01 7:42 ` Tero Roponen 0 siblings, 0 replies; 23+ messages in thread From: Tero Roponen @ 2005-08-01 7:42 UTC (permalink / raw) To: Ivan Kokshaysky Cc: Andrew Morton, jonsmirl, gregkh, linux-kernel, Mikael Pettersson On Mon, 1 Aug 2005, Ivan Kokshaysky wrote: > On Fri, Jul 29, 2005 at 02:39:21AM -0700, Andrew Morton wrote: > > Tero Roponen <teanropo@cc.jyu.fi> wrote: > > > My original report is here: http://lkml.org/lkml/2005/7/6/174 > > > > I see. Ivan, do we know what's going on here? > > Sort of. The 4K cardbus windows are working fine for non-x86 > architectures where all IO resources are usually well known > and added to the resource tree properly. > However, on x86 there are sometimes "hidden" system IO port > ranges that aren't reported by BIOS, so the large (4K) cardbus > windows overlap these ranges. > > Actually I don't like reducing CARDBUS_IO_SIZE to 256 bytes, because > we lose an ability to handle cards with built-in p2p bridges (which > require 4K for IO), plus it won't fix Sony VAIO problem. > > Tero and Mikael, can you try this one-liner instead? > > Ivan. > > --- 2.6.13-rc4/include/asm-i386/pci.h Sun Jul 31 14:32:09 2005 > +++ linux/include/asm-i386/pci.h Mon Aug 1 08:29:18 2005 > @@ -18,7 +18,7 @@ extern unsigned int pcibios_assign_all_b > #define pcibios_scan_all_fns(a, b) 0 > > extern unsigned long pci_mem_start; > -#define PCIBIOS_MIN_IO 0x1000 > +#define PCIBIOS_MIN_IO 0x2000 > #define PCIBIOS_MIN_MEM (pci_mem_start) > > #define PCIBIOS_MIN_CARDBUS_IO 0x4000 > Thanks, this works for me! I hope this will be in 2.6.13 final. - Tero Roponen ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.13-rc2 hangs at boot 2005-07-07 1:27 ` Jon Smirl 2005-07-07 9:59 ` Ivan Kokshaysky [not found] ` <20050728233408.550939d4.akpm@osdl.org> @ 2005-08-04 20:49 ` Andrew Morton 2 siblings, 0 replies; 23+ messages in thread From: Andrew Morton @ 2005-08-04 20:49 UTC (permalink / raw) To: Jon Smirl; +Cc: teanropo, ink, gregkh, linux-kernel Jon Smirl <jonsmirl@gmail.com> wrote: > > I'm dead on a Dell PE400SC without reverting this. > > On 7/6/05, Tero Roponen <teanropo@cc.jyu.fi> wrote: > > Hi, > > > > my computer (a ThinkPad 380XD laptop) hangs at boot in 2.6.13-rc2. > > When I revert the patch below everything seems to be fine. > > > > thanks, > > Tero Roponen > > > > > > Patch to revert: > > > > Author: Ivan Kokshaysky <ink@jurassic.park.msu.ru> > > Date: Wed, 15 Jun 2005 14:59:27 +0000 (+0400) > > Source: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=299de0343c7d18448a69c635378342e9214b14af Guys, I'm going to assume that all these problems are fixed in 2.6.13-rc6 due to various fixes and reversions. If that's not correct then please raise new reports, preferably at bugzilla.kernel.org, thanks. ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: 2.6.13-rc2 hangs at boot @ 2005-07-07 13:11 Mikael Pettersson 0 siblings, 0 replies; 23+ messages in thread From: Mikael Pettersson @ 2005-07-07 13:11 UTC (permalink / raw) To: gregkh, ink, teanropo; +Cc: linux-kernel On Wed, 6 Jul 2005 16:47:28 +0300 (EEST), Tero Roponen wrote: >my computer (a ThinkPad 380XD laptop) hangs at boot in 2.6.13-rc2. >When I revert the patch below everything seems to be fine. Same here: my Targa Visionary 811 Athlon64 laptop hangs during boot with 2.6.13-rc2, unless I revert the patch below. -rc1 worked OK. /Mikael >thanks, >Tero Roponen > > >Patch to revert: > >Author: Ivan Kokshaysky <ink@jurassic.park.msu.ru> >Date: Wed, 15 Jun 2005 14:59:27 +0000 (+0400) >Source: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=299de0343c7d18448a69c635378342e9214b14af > > [PATCH] PCI: pci_assign_unassigned_resources() on x86 > > - Add sanity check for io[port,mem]_resource in setup-bus.c. These > resources look like "free" as they have no parents, but obviously > we must not touch them. > - In i386.c:pci_allocate_bus_resources(), if a bridge resource cannot be > allocated for some reason, then clear its flags. This prevents any child > allocations in this range, so the setup-bus code will work with a clean > resource sub-tree. > - i386.c:pcibios_enable_resources() doesn't enable bridges, as it checks > only resources 0-5, which looks like a clear bug to me. I suspect it > might break hotplug as well in some cases. > > From: Ivan Kokshaysky <ink@jurassic.park.msu.ru> > Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> > >--- a/arch/i386/pci/common.c >+++ b/arch/i386/pci/common.c >@@ -165,6 +165,7 @@ static int __init pcibios_init(void) > if ((pci_probe & PCI_BIOS_SORT) && !(pci_probe & PCI_NO_SORT)) > pcibios_sort(); > #endif >+ pci_assign_unassigned_resources(); > return 0; > } > >--- a/arch/i386/pci/i386.c >+++ b/arch/i386/pci/i386.c >@@ -106,11 +106,16 @@ static void __init pcibios_allocate_bus_ > if ((dev = bus->self)) { > for (idx = PCI_BRIDGE_RESOURCES; idx < PCI_NUM_RESOURCES; idx++) { > r = &dev->resource[idx]; >- if (!r->start) >+ if (!r->flags) > continue; > pr = pci_find_parent_resource(dev, r); >- if (!pr || request_resource(pr, r) < 0) >+ if (!r->start || !pr || request_resource(pr, r) < 0) { > printk(KERN_ERR "PCI: Cannot allocate resource region %d of bridge %s\n", idx, pci_name(dev)); >+ /* Something is wrong with the region. >+ Invalidate the resource to prevent child >+ resource allocations in this range. */ >+ r->flags = 0; >+ } > } > } > pcibios_allocate_bus_resources(&bus->children); >@@ -227,7 +232,7 @@ int pcibios_enable_resources(struct pci_ > > pci_read_config_word(dev, PCI_COMMAND, &cmd); > old_cmd = cmd; >- for(idx=0; idx<6; idx++) { >+ for(idx = 0; idx < PCI_NUM_RESOURCES; idx++) { > /* Only set up the requested stuff */ > if (!(mask & (1<<idx))) > continue; >--- a/drivers/pci/setup-bus.c >+++ b/drivers/pci/setup-bus.c >@@ -273,6 +273,8 @@ find_free_bus_resource(struct pci_bus *b > > for (i = 0; i < PCI_BUS_NUM_RESOURCES; i++) { > r = bus->resource[i]; >+ if (r == &ioport_resource || r == &iomem_resource) >+ continue; > if (r && (r->flags & type_mask) == type && !r->parent) > return r; > } >- >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/ > ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2005-08-04 20:51 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-06 13:47 2.6.13-rc2 hangs at boot Tero Roponen
2005-07-07 1:27 ` Jon Smirl
2005-07-07 9:59 ` Ivan Kokshaysky
2005-07-07 10:33 ` Tero Roponen
2005-07-07 12:31 ` Ivan Kokshaysky
2005-07-07 12:47 ` Tero Roponen
2005-07-07 13:41 ` Ivan Kokshaysky
2005-07-07 13:53 ` Tero Roponen
2005-07-07 14:13 ` Tero Roponen
2005-07-08 6:28 ` Ivan Kokshaysky
2005-07-08 7:57 ` [SOLVED] " Tero Roponen
2005-07-08 9:19 ` Ivan Kokshaysky
2005-07-08 9:38 ` Tero Roponen
2005-07-08 9:45 ` Ivan Kokshaysky
2005-07-07 13:59 ` Jon Smirl
[not found] ` <20050728233408.550939d4.akpm@osdl.org>
2005-07-29 8:09 ` 2.6.14-rc4: dma_timer_expiry [was 2.6.13-rc2 hangs at boot] Tero Roponen
2005-07-29 8:24 ` Andrew Morton
2005-07-29 8:35 ` Tero Roponen
2005-07-29 9:39 ` Andrew Morton
2005-08-01 7:22 ` Ivan Kokshaysky
2005-08-01 7:42 ` Tero Roponen
2005-08-04 20:49 ` 2.6.13-rc2 hangs at boot Andrew Morton
-- strict thread matches above, loose matches on Subject: below --
2005-07-07 13:11 Mikael Pettersson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox