Re: 2.6.13-rc2 hangs at boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux