1. 20 4月, 2008 1 次提交
    • M
      generic: use new set_cpus_allowed_ptr function · f70316da
      Mike Travis 提交于
        * Use new set_cpus_allowed_ptr() function added by previous patch,
          which instead of passing the "newly allowed cpus" cpumask_t arg
          by value,  pass it by pointer:
      
          -int set_cpus_allowed(struct task_struct *p, cpumask_t new_mask)
          +int set_cpus_allowed_ptr(struct task_struct *p, const cpumask_t *new_mask)
      
        * Modify CPU_MASK_ALL
      
      Depends on:
      	[sched-devel]: sched: add new set_cpus_allowed_ptr function
      Signed-off-by: NMike Travis <travis@sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f70316da
  2. 29 3月, 2008 1 次提交
  3. 27 3月, 2008 1 次提交
  4. 25 3月, 2008 2 次提交
  5. 18 3月, 2008 1 次提交
    • M
      pciehp: don't enable slot unless forced · 9e585824
      Mark Lord 提交于
      This fixes a 2.6.25 regression reported by Alex Chiang.
      
      Invoke pciehp_enable_slot() at startup only when pciehp_force=1.
      Some HP equipment apparently cannot cope with it otherwise.
      
      This restores the (previously working) 2.6.24 behaviour here,
      while allowing machines that need a kick to use pciehp_force=1.
      
      This was the original design back in October 2007,
      but Kristen suggested we try without it first:
      
         Kristen Carlson Accardi wrote:
         >I think it would be ok to try allowing the slot to be enabled when not
         >using pciehp_force mode.  We can wrap it later if it proves to break things
      
      This ended up breaking one of Alex's setups,
      so it's time to put the wrapper back in now.
      Signed-off-by: NMark Lord <mlord@pobox.com>
      Acked-by: NAlex Chiang <achiang@hp.com>
      Acked-by: NKristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9e585824
  6. 14 3月, 2008 1 次提交
    • G
      PCI: fix issue with busses registering multiple times in sysfs · cc74d96f
      Greg Kroah-Hartman 提交于
      PCI busses can be registered multiple times, so we need to detect if we
      have registered our bus structure in sysfs already.  If so, don't do it
      again.
      
      Thanks to Guennadi Liakhovetski <g.liakhovetski@gmx.de> for reporting
      the problem, and to Linus for poking me to get me to believe that it was
      a real problem.
      
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      cc74d96f
  7. 11 3月, 2008 1 次提交
    • J
      PCI Hotplug: Fix small mem leak in IBM Hot Plug Controller Driver · b91aac29
      Jesper Juhl 提交于
      In drivers/pci/hotplug/ibmphp_ebda.c::ebda_rsrc_controller(), storage is
      allocated with kzalloc() and assigned to 'tmp_slot'.  Then lots of
      stuff, like ->flag, ->supported_speed etc is set in tmp_slot.  A bit
      further down there's then this test :
      
        if (!bus_info_ptr1) {
          rc = -ENODEV;
          goto error;
        }
      
      At this point, tmp_slot has not been assigned to anything, so when
      erroring-out we want to free it, but nothing at the 'error:' label
      free's 'tmp_slot' - and we can't really free 'tmp_slot' at 'error:'
      since we may jump to that label later when 'tmp_slot' *has* been used
      and we do not want it freed. So, the only sane option left seems to be
      to kfree(tmp_slot) just before jumping to the 'error:' label in the one
      place where this is what actually makes sense. The following patch does
      just that and thus kills off a tiny potential memory leak.
      Signed-off-by: NJesper Juhl <jesper.juhl@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b91aac29
  8. 05 3月, 2008 5 次提交
  9. 04 3月, 2008 1 次提交
  10. 24 2月, 2008 2 次提交
  11. 23 2月, 2008 1 次提交
  12. 22 2月, 2008 7 次提交
  13. 21 2月, 2008 1 次提交
  14. 16 2月, 2008 1 次提交
  15. 09 2月, 2008 3 次提交
  16. 07 2月, 2008 1 次提交
  17. 06 2月, 2008 2 次提交
  18. 03 2月, 2008 3 次提交
    • S
      PCI: fix 4x section mismatch warnings · 451124a7
      Sam Ravnborg 提交于
      The following warnings were issued during build of
      drivers/pci with an allyesconfig build:
      WARNING: o-x86_64/drivers/pci/built-in.o(.text+0xdaf): Section mismatch in reference from the function pci_add_new_bus() to the function .devinit.text:pci_alloc_child_bus()
      WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x15e2): Section mismatch in reference from the function pci_scan_single_device() to the function .devinit.text:pci_scan_device()
      WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x1b0c5): Section mismatch in reference from the function pci_bus_assign_resources() to the function .devinit.text:pci_setup_bridge()
      WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x1b32d): Section mismatch in reference from the function pci_bus_size_bridges() to the function .devinit.text:pci_bus_size_cardbus()
      
      Investigating each case closer it looked like all
      referred functions are only used in the init phase
      or during hotplug.
      So to avoid wasting too much memory in the non-hotplug
      case the simpler fix was to allow the fuctions to
      use code/data from the __devinit sections.
      This was done in all four case by adding the __ref
      annotation.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Adrian Bunk <bunk@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      451124a7
    • S
      PCI: fix section mismatch warnings referring to pci_do_scan_bus · 4105717b
      Sam Ravnborg 提交于
      Fix following warnings:
      WARNING: o-x86_64/drivers/pci/built-in.o(.text+0xb054): Section mismatch in reference from the function cpci_configure_slot() to the function .devinit.text:pci_do_scan_bus()
      WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x153ab): Section mismatch in reference from the function shpchp_configure_device() to the function .devinit.text:pci_do_scan_bus()
      WARNING: o-x86_64/drivers/pci/built-in.o(__ksymtab+0xc0): Section mismatch in reference from the variable __ksymtab_pci_do_scan_bus to the function .devinit.text:pci_do_scan_bus()
      
      PCI hotplug were the only user of pci_do_scan_bus()
      so moving this function to a separate file that is build
      only when we enable CONFIG_HOTPLUG_PCI.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Adrian Bunk <bunk@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4105717b
    • G
      Revert "PCI: PCIE ASPM support" · cc3a1378
      Greg Kroah-Hartman 提交于
      This reverts commit 6c723d5b.
      
      It caused build errors on non-x86 platforms, config file confusion, and
      even some boot errors on some x86-64 boxes.  All around, not quite ready
      for prime-time :(
      
      Cc: Shaohua Li <shaohua.li@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      cc3a1378
  19. 02 2月, 2008 5 次提交
    • G
      PCI: make pci_bus a struct device · fd7d1ced
      Greg Kroah-Hartman 提交于
      This moves the pci_bus class device to be a real struct device and at
      the same time, place it in the device tree in the correct location.
      
      Note, the old "bridge" symlink is now gone, but this was a non-standard
      link and no userspace program used it.  If you need to determine the
      device that the bus is on, follow the standard device symlink, or walk
      up the device tree.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      fd7d1ced
    • G
      PCI: fix codingstyle issues in drivers/pci/pci.h · 367b09fe
      Greg Kroah-Hartman 提交于
      Fixes a few coding style issues in the internal pci.h file
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      367b09fe
    • S
      PCI: PCIE ASPM support · 6c723d5b
      Shaohua Li 提交于
      PCI Express ASPM defines a protocol for PCI Express components in the D0
      state to reduce Link power by placing their Links into a low power state
      and instructing the other end of the Link to do likewise. This
      capability allows hardware-autonomous, dynamic Link power reduction
      beyond what is achievable by software-only controlled power management.
      However, The device should be configured by software appropriately.
      Enabling ASPM will save power, but will introduce device latency.
      
      This patch adds ASPM support in Linux. It introduces a global policy for
      ASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control
      it. The interface can be used as a boot option too. Currently we have
      below setting:
              -default, BIOS default setting
              -powersave, highest power saving mode, enable all available ASPM
      state
      and clock power management
              -performance, highest performance, disable ASPM and clock power
      management
      By default, the 'default' policy is used currently.
      
      In my test, power difference between powersave mode and performance mode
      is about 1.3w in a system with 3 PCIE links.
      Signed-off-by: NShaohua Li <shaohua.li@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6c723d5b
    • I
      PCI: Fix fakephp deadlock · 5c796ae7
      Ian Abbott 提交于
      If the fakephp driver is used to emulate removal of a PCI device by
      writing text string "0" to the "power" sysfs attribute file, this causes
      its parent directory and its contents (including the "power" file) to be
      deleted before the write operation returns.  Unfortunately, it ends up
      in a deadlock waiting for itself to complete.
      
      The deadlock is as follows: sysfs_write_file calls flush_write_buffer
      which calls sysfs_get_active_two before calling power_write_file in
      pci_hotplug_core.c via the sysfs store operation. The power_write_file
      function calls disable_slot in fakephp.c via the slot operation.  The
      disable_slot function calls remove_slot which calls pci_hp_deregister
      (back in pci_hotplug_core.c) which calls fs_remove_slot which calls
      sysfs_remove_file to remove the "power" file. The sysfs_remove_file
      function calls sysfs_hash_and_remove which calls sysfs_addrm_finish
      which calls sysfs_deactivate. The sysfs_deactivate function sees that
      something has an active reference on the sysfs_dirent (from the
      previous call to sysfs_get_active_two back up the call stack somewhere)
      so waits for the active reference to go away, which is of course
      impossible.
      
      The problem has been present since 2.6.21.
      
      This patch breaks the deadlock by queuing work queue items on a single-
      threaded work queue to remove a slot from sysfs, and to rescan the PCI
      buses.  There is also some protection against disabling a slot that is
      already being removed.
      Signed-off-by: NIan Abbott <abbotti@mev.co.uk>
      Cc: Kristen Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5c796ae7
    • S
      PCI: modify SB700 SATA MSI quirk · 4600c9d7
      Shane Huang 提交于
      SB700 SATA MSI bug will be fixed in SB700 revision A21 at hardware
      level, but the SB700 revision older than A21 will also be found in the
      market.  This patch modify the original quirk commit
      bc38b411 instead of withdrawing it.
      The patch also removes quirk to 0x4395 because 0x4395 is SB800 device
      ID.
      Signed-off-by: NShane Huang <shane.huang@amd.com>
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4600c9d7