unable to mount root device in 2.6.14.5 (was: Re: [PATCH] PCI patches for 2.6.10)

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

 



Hello,

I just upgraded from Kernel 2.6.10 to 2.6.14.5 and got this message:

PCI: Unable to reserve I/O region #1:100@10000 for device 0000:00:06.0

instead of the usual initialisation messages of my scsi controller. As
a consequence no scsi device and thus no root device is found. 
I tracked this down to this patch (to be precise, the PCI_CLASS_NOT_DEFINED 
part of it). Removing the 'class == PCI_CLASS_NOT_DEFINED ||' clause makes
it boot again.

> List:       linux-kernel
> Subject:    Re: [PATCH] PCI patches for 2.6.10
> From:       Greg KH <greg () kroah ! com>
> Date:       2005-01-10 17:20:57
> Message-ID: 11053776574174 () kroah ! com
> [Download message RAW]
> 
> ChangeSet 1.1938.447.8, 2004/12/17 13:44:31-08:00, [email protected]
> 
> [PATCH] PCI: Don't touch BARs of host bridges
> 
>  BARs of host bridges often have special meaning and AFAIK are best left
> to be setup by the firmware or system-specific startup code and kept
> intact by the generic resource handler.  For example a couple of host
> bridges used for MIPS processors interpret BARs as target-mode decoders
> for accessing host memory by PCI masters (which is quite reasonable).
> For them it's desirable to keep their decoded address range overlapping
> with the host RAM for simplicity if nothing else (I can imagine running
> out of address space with lots of memory and 32-bit PCI with no DAC
> support in the participating devices).
> 
>  This is already the case with the i386 and ppc platform-specific PCI
> resource allocators.  Please consider the following change for the generic
> allocator.  Currently we have a pile of hacks implemented for host bridges
> to be left untouched and I'd be pleased to remove them.
> 
> From: "Maciej W. Rozycki" <[email protected]>
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> 
> 
>  drivers/pci/setup-bus.c |    9 +++++++--
>  1 files changed, 7 insertions(+), 2 deletions(-)
> 
> 
> diff -Nru a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
> --- a/drivers/pci/setup-bus.c	2005-01-10 09:02:52 -08:00
> +++ b/drivers/pci/setup-bus.c	2005-01-10 09:02:52 -08:00
> @@ -57,8 +57,13 @@
>  	list_for_each_entry(dev, &bus->devices, bus_list) {
>  		u16 class = dev->class >> 8;
>  
> -		if (class == PCI_CLASS_DISPLAY_VGA
> -				|| class == PCI_CLASS_NOT_DEFINED_VGA)
> +		/* Don't touch classless devices and host bridges.  */
> +		if (class == PCI_CLASS_NOT_DEFINED ||
> +		    class == PCI_CLASS_BRIDGE_HOST)
> +			continue;
> +
> +		if (class == PCI_CLASS_DISPLAY_VGA ||
> +		    class == PCI_CLASS_NOT_DEFINED_VGA)
>  			bus->bridge_ctl |= PCI_BRIDGE_CTL_VGA;
>  
>  		pdev_sort_resources(dev, &head);
> 


This is a DEC alpha AXPpci33 (aka 'noname') board with an sym810 onboard scsi-
controller:

[Marvin:~#] lspci -v
00:06.0 Non-VGA unclassified device: Symbios Logic Inc. (formerly NCR) 53c810 (rev 01)
        Flags: bus master, medium devsel, latency 255, IRQ 11
        I/O ports at 8000 [size=256]
        Memory at 0000000001230000 (32-bit, non-prefetchable) [size=256]

00:07.0 Non-VGA unclassified device: Intel Corporation 82378IB [SIO ISA Bridge] (rev 03)
        Flags: bus master, medium devsel, latency 0

00:08.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30)
        Subsystem: 3Com Corporation: Unknown device 9055
        Flags: bus master, medium devsel, latency 248, IRQ 14
        I/O ports at 8400 [size=128]
        Memory at 0000000001231000 (32-bit, non-prefetchable) [size=128]
        Expansion ROM at 0000000001200000 [disabled] [size=128K]
        Capabilities: [dc] Power Management version 1

00:0b.0 Network controller: AVM Audiovisuelles MKTG & Computer System GmbH A1 ISDN [Fritz] (rev 02)
        Subsystem: AVM Audiovisuelles MKTG & Computer System GmbH: Unknown device 0a00
        Flags: medium devsel, IRQ 14
        Memory at 0000000001232000 (32-bit, non-prefetchable) [size=32]
        I/O ports at 8480 [size=32]

00:0c.0 VGA compatible controller: ATI Technologies Inc 215CT [Mach64 CT] (rev 41) (prog-if 00 [VGA])
        Flags: stepping, medium devsel, IRQ 14
        Memory at 0000000002000000 (32-bit, non-prefetchable) [size=16M]
        Expansion ROM at 0000000001220000 [disabled] [size=64K]


Your patch description suggests that a platform specific solution might be
better. So can you point me tho the right place under arch/alpha to implement
this? Or would a patch to remove the comparison be acceptable?

Thanks,
Thorsten


-- 
| Thorsten Kranzkowski        Internet: [email protected]                      |
| Mobile: ++49 170 1876134       Snail: Kiebitzstr. 14, 49324 Melle, Germany  |
| Ampr: dl8bcu@db0lj.#rpl.deu.eu, [email protected] [44.130.8.19] |
-
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]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux