1. 02 12月, 2006 19 次提交
  2. 30 11月, 2006 3 次提交
  3. 15 11月, 2006 1 次提交
  4. 13 11月, 2006 1 次提交
    • D
      [PATCH] pci: don't try to remove sysfs files before they are setup. · d67afe5e
      David Miller 提交于
      The PCI sysfs attributes are created after the initial PCI bus scan.  With
      the addition of more return value checking and assertions in the device and
      sysfs layers we now can get dumps like this on sparc64:
      
      [   20.135032] Call Trace:
      [   20.135042]  [0000000000537f88] pci_remove_bus_device+0x30/0xc0
      [   20.135076]  [000000000078f890] pci_fill_in_pbm_cookies+0x98/0x440
      [   20.135109]  [000000000042e828] sabre_scan_bus+0x230/0x400
      [   20.135139]  [000000000078c710] pcibios_init+0x58/0xa0
      [   20.135159]  [0000000000416f14] init+0x9c/0x2e0
      [   20.135190]  [0000000000417a50] kernel_thread+0x38/0x60
      [   20.135211]  [0000000000417170] rest_init+0x18/0x40
      [   20.135514] PCI0(PBMB): Bus running at 33MHz
      
      It's triggering because removal of the "config" PCI sysfs file for the
      device fails.
      
      On sparc64, after probing the device, we'll delete the PCI device via
      pci_remove_bus_device() if we cannot find the firmware device tree node
      corresponding to it.
      
      This is fine, but at this point the sysfs files for the PCI device won't be
      setup yet.
      
      So we should not try to do anything in pci_remove_sysfs_dev_files() if
      pci_sysfs_init() has not run yet.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d67afe5e
  5. 09 11月, 2006 2 次提交
  6. 04 11月, 2006 1 次提交
    • A
      PCI: Let PCI_MULTITHREAD_PROBE depend on BROKEN · bb44c308
      Adrian Bunk 提交于
      PCI_MULTITHREAD_PROBE is an interesting feature, but in its current state
      it seems to be more of a trap for users who accidentally enable it.
      
      This patch lets PCI_MULTITHREAD_PROBE depend on BROKEN for 2.6.19.
      
      The intention is to get this patch reversed in -mm as soon as it's in
      Linus' tree, and reverse it for 2.6.20 or 2.6.21 after the fallout of
      in-kernel problems PCI_MULTITHREAD_PROBE causes got fixed.
      
      (akpm: I get enough bug reports already)
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      bb44c308
  7. 28 10月, 2006 4 次提交
  8. 24 10月, 2006 1 次提交
    • L
      Revert unintentional and bogus change to drivers/pci/quirks.c · 0c0e4668
      Linus Torvalds 提交于
      In commit 4e8a5201 ("[PKT_SCHED] netem:
      Orphan SKB when adding to queue.") Davem mistakenly also included a
      temporary diff in his tree that disabled the pci_fixup_video VGA quirk,
      which broke sparc64.
      
      This reverts that part of the commit. Sayeth Davem:
      
        "Greg KH has a patch coming to you soon which will move that VGA code
         back into x86/x86_64/IA64 specific areas and will fix the sparc64
         problem properly."
      
      Special thanks to Claudio Martins <ctpm@ist.utl.pt> for noticing the
      error in the first place.
      
      Cc: Claudio Martins <ctpm@ist.utl.pt>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0c0e4668
  9. 23 10月, 2006 1 次提交
  10. 21 10月, 2006 1 次提交
  11. 19 10月, 2006 6 次提交
    • G
      PCI Hotplug: move pci_hotplug.h to include/linux/ · 7a54f25c
      Greg Kroah-Hartman 提交于
      This makes it possible to build pci hotplug drivers outside of the main
      kernel tree, and Sam keeps telling me to move local header files to
      their proper places...
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7a54f25c
    • K
      change pci hotplug subsystem maintainer to Kristen · fb5f4d7a
      Kristen Carlson Accardi 提交于
      Here's a patch adding me to the maintainers file for the pci
      hotplug subsystem, as we discussed.
      Signed-off-by: NKristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      fb5f4d7a
    • M
      PCI: optionally sort device lists breadth-first · 6b4b78fe
      Matt Domsch 提交于
      Problem:
      New Dell PowerEdge servers have 2 embedded ethernet ports, which are
      labeled NIC1 and NIC2 on the chassis, in the BIOS setup screens, and
      in the printed documentation.  Assuming no other add-in ethernet ports
      in the system, Linux 2.4 kernels name these eth0 and eth1
      respectively.  Many people have come to expect this naming.  Linux 2.6
      kernels name these eth1 and eth0 respectively (backwards from
      expectations).  I also have reports that various Sun and HP servers
      have similar behavior.
      
      
      Root cause:
      Linux 2.4 kernels walk the pci_devices list, which happens to be
      sorted in breadth-first order (or pcbios_find_device order on i386,
      which most often is breadth-first also).  2.6 kernels have both the
      pci_devices list and the pci_bus_type.klist_devices list, the latter
      is what is walked at driver load time to match the pci_id tables; this
      klist happens to be in depth-first order.
      
      On systems where, for physical routing reasons, NIC1 appears on a
      lower bus number than NIC2, but NIC2's bridge is discovered first in
      the depth-first ordering, NIC2 will be discovered before NIC1.  If the
      list were sorted breadth-first, NIC1 would be discovered before NIC2.
      
      A PowerEdge 1955 system has the following topology which easily
      exhibits the difference between depth-first and breadth-first device
      lists.
      
      -[0000:00]-+-00.0  Intel Corporation 5000P Chipset Memory Controller Hub
                 +-02.0-[0000:03-08]--+-00.0-[0000:04-07]--+-00.0-[0000:05-06]----00.0-[0000:06]----00.0  Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet (labeled NIC2, 2.4 kernel name eth1, 2.6 kernel name eth0)
                 +-1c.0-[0000:01-02]----00.0-[0000:02]----00.0  Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet (labeled NIC1, 2.4 kernel name eth0, 2.6 kernel name eth1)
      
      
      Other factors, such as device driver load order and the presence of
      PCI slots at various points in the bus hierarchy further complicate
      this problem; I'm not trying to solve those here, just restore the
      device order, and thus basic behavior, that 2.4 kernels had.
      
      
      Solution:
      
      The solution can come in multiple steps.
      
      Suggested fix #1: kernel
      Patch below optionally sorts the two device lists into breadth-first
      ordering to maintain compatibility with 2.4 kernels.  It adds two new
      command line options:
        pci=bfsort
        pci=nobfsort
      to force the sort order, or not, as you wish.  It also adds DMI checks
      for the specific Dell systems which exhibit "backwards" ordering, to
      make them "right".
      
      
      Suggested fix #2: udev rules from userland
      Many people also have the expectation that embedded NICs are always
      discovered before add-in NICs (which this patch does not try to do).
      Using the PCI IRQ Routing Table provided by system BIOS, it's easy to
      determine which PCI devices are embedded, or if add-in, which PCI slot
      they're in.  I'm working on a tool that would allow udev to name
      ethernet devices in ascending embedded, slot 1 .. slot N order,
      subsort by PCI bus/dev/fn breadth-first.  It'll be possible to use it
      independent of udev as well for those distributions that don't use
      udev in their installers.
      
      Suggested fix #3: system board routing rules
      One can constrain the system board layout to put NIC1 ahead of NIC2
      regardless of breadth-first or depth-first discovery order.  This adds
      a significant level of complexity to board routing, and may not be
      possible in all instances (witness the above systems from several
      major manufacturers).  I don't want to encourage this particular train
      of thought too far, at the expense of not doing #1 or #2 above.
      
      
      Feedback appreciated.  Patch tested on a Dell PowerEdge 1955 blade
      with 2.6.18.
      
      You'll also note I took some liberty and temporarily break the klist
      abstraction to simplify and speed up the sort algorithm.  I think
      that's both safe and appropriate in this instance.
      Signed-off-by: NMatt Domsch <Matt_Domsch@dell.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      6b4b78fe
    • A
      cpcihp_generic: prevent loading without "bridge" parameter · 49c61cca
      Akinobu Mita 提交于
      cpcihp_generic module requires configured "bridge" module parameter.
      But it can be loaded successfully without that parameter.
      Because module init call ends up returning positive value.
      
      This patch prevents from loading without setting "bridge" module parameter.
      Signed-off-by: NAkinbou Mita <akinobu.mita@gmail.com>
      Signed-off-by: NScott Murray <scottm@somanetworks.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      49c61cca
    • A
      pci: Additional search functions · 29f3eb64
      Alan Cox 提交于
      In order to finish converting to pci_get_* interfaces we need to add a couple
      of bits of missing functionaility
      
      pci_get_bus_and_slot() provides the equivalent to pci_find_slot()
      (pci_get_slot is already taken as a name for something similar but not the
      same)
      
      pci_get_device_reverse() is the equivalent of pci_find_device_reverse but
      refcounting
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      29f3eb64
    • A
      PCI: quirks: switch quirks code offender to use pci_get API · 11f242f0
      Alan Cox 提交于
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      11f242f0