Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Wed, 7 Feb 2001 14:52:13 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Wed, 7 Feb 2001 14:52:03 -0500 Received: from chaos.analogic.com ([204.178.40.224]:4997 "EHLO chaos.analogic.com") by vger.kernel.org with ESMTP id ; Wed, 7 Feb 2001 14:51:55 -0500 Date: Wed, 7 Feb 2001 14:50:57 -0500 (EST) From: "Richard B. Johnson" Reply-To: root@chaos.analogic.com To: davej@suse.de cc: Alan Cox , becker@scyld.com, Linux Kernel Mailing List Subject: Re: [PATCH] Hamachi not doing pci_enable before reading resources In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 7 Feb 2001 davej@suse.de wrote: > > Hi Alan, > > Another driver not doing pci_enable_device() early enough. > > Dave. > A PCI device does not and should not be enabled to probe for resources! It is only devices that have BIOS that require the device to be enabled for memory I/O prior to downloading the BIOS into RAM. The BARs are read/writable (and are required to be), even when the Mem/I/O bits in the cmd/status register are clear. This is a required condition! You certainly don't want to write all ones to a decode (to find the resource length) of a live, on-line chip! If the chip hickups (think network chips connected to networks, on a warm-boot), you will trash lots of stuff in memory. It looks as though you are "fixing" drivers that are not broken and, in fact, are trying to do the right thing. Maybe the PCI code in the kernel is preventing access to resources unless the device has been enabled??? If so, it's broken and should be fixed, instead of all the drivers. Cheers, Dick Johnson Penguin : Linux version 2.4.1 on an i686 machine (799.53 BogoMips). "Memory is like gasoline. You use it up when you are running. Of course you get it all back when you reboot..."; Actual explanation obtained from the Micro$oft help desk. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/