An error occurred fetching the project authors.
  1. 24 May, 2008 1 commit
  2. 29 Apr, 2008 1 commit
    • Yinghai Lu's avatar
      pci/irq: let pci_device_shutdown to call pci_msi_shutdown v2 · d52877c7
      Yinghai Lu authored
      [PATCH 2/2] pci/irq: let pci_device_shutdown to call pci_msi_shutdown v2
      
      this change
      
      | commit 23a274c8
      | Author: Prakash, Sathya <sathya.prakash@lsi.com>
      | Date:   Fri Mar 7 15:53:21 2008 +0530
      |
      |     [SCSI] mpt fusion: Enable MSI by default for SAS controllers
      |
      |     This patch modifies the driver to enable MSI by default for all SAS chips.
      |
      |     Signed-off-by: Sathya Prakash <sathya.prakash@lsi.com>
      |     Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
      |
      Causes the kexec of a RHEL 5.1 kernel to fail.
      
      root casue: the rhel 5.1 kernel still uses INTx emulation.  and
      mptscsih_shutdown doesn't call pci_disable_msi to reenable INTx on kexec path
      
      So call pci_msi_shutdown in the shutdown path to do the same thing to msix
      Signed-off-by: default avatarYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@hobbes.lan>
      d52877c7
  3. 19 Apr, 2008 1 commit
    • Mike Travis's avatar
      generic: use new set_cpus_allowed_ptr function · f70316da
      Mike Travis authored
        * 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: default avatarMike Travis <travis@sgi.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      f70316da
  4. 01 Feb, 2008 1 commit
    • Lee Schermerhorn's avatar
      PCI: Mem Policy: fix mempolicy usage in pci driver · 74e27e44
      Lee Schermerhorn authored
      In an attempt to ensure memory allocation from the local node, the pci
      driver temporarily replaces the current task's memory policy with the
      system default policy.  Trying to be a good citizen, the driver then call's
      mpol_get() on the new policy.  When it's finished probing, it undoes the
      '_get by calling mpol_free() [on the system default policy] and then
      restores the current task's saved mempolicy.
      
      A couple of issues here:
      
      1) it's never necessary to set a task's mempolicy to the
         system default policy in order to get system default
         allocation behavior.  Simply set the current task's
         mempolicy to NULL and allocations will fall back to
         system default policy.
      
      2) we should never [need to] call mpol_free() on the system
         default policy.  [I plan on trapping this with a VM_BUG_ON()
         in a subsequent patch.]
      
      This patch removes the calls to mpol_get() and mpol_free()
      and uses NULL for the temporary task mempolicy to effect
      default allocation behavior.
      Signed-off-by: default avatarLee Schermerhorn <lee.schermerhorn@hp.com>
      Acked-by: default avatarChristoph Lameter <clameter@sgi.com>
      Acked-by: default avatarMel Gorman <mel@csn.ul.ie>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      74e27e44
  5. 25 Jan, 2008 2 commits
  6. 05 Nov, 2007 1 commit
  7. 12 Oct, 2007 2 commits
  8. 01 Aug, 2007 1 commit
  9. 09 May, 2007 1 commit
  10. 03 May, 2007 2 commits
  11. 27 Apr, 2007 1 commit
  12. 16 Feb, 2007 1 commit
  13. 07 Feb, 2007 3 commits
  14. 22 Jan, 2007 1 commit
  15. 20 Dec, 2006 2 commits
    • Alan Cox's avatar
      PCI: Fix multiple problems with VIA hardware · 1597cacb
      Alan Cox authored
      This patch is designed to fix:
      - Disk eating corruptor on KT7 after resume from RAM
      - VIA IRQ handling
      - VIA fixups for bus lockups after resume from RAM
      
      The core of this is to add a table of resume fixups run at resume time.
      We need to do this for a variety of boards and features, but particularly
      we need to do this to get various critical VIA fixups done on resume.
      
      The second part of the problem is to handle VIA IRQ number rules which
      are a bit odd and need special handling for PIC interrupts. Various
      patches broke various boxes and while this one may not be perfect
      (hopefully it is) it ensures the workaround is applied to the right
      devices only.
      
      From: Jean Delvare <khali@linux-fr.org>
      
      Now that PCI quirks are replayed on software resume, we can safely
      re-enable the Asus SMBus unhiding quirk even when software suspend support
      is enabled.
      
      [akpm@osdl.org: fix const warning]
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Cc: Jean Delvare <khali@linux-fr.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      1597cacb
    • Russell King's avatar
      PCI: use /sys/bus/pci/drivers/<driver>/new_id first · 7461b60a
      Russell King authored
      Unfortunately, the .../new_id feature does not work with the 8250_pci
      driver.
      
      The reason for this comes down to the way .../new_id is implemented.
      When PCI tries to match a driver to a device, it checks the modules
      static device ID tables _before_ checking the dynamic new_id tables.
      
      When a driver is capable of matching by ID, and falls back to matching
      by class (as 8250_pci does), this makes it absolutely impossible to
      specify a board by ID, and as such the correct driver_data value to
      use with it.
      
      Let's say you have a serial board with vendor 0x1234 and device 0x5678.
      It's class is set to PCI_CLASS_COMMUNICATION_SERIAL.
      
      On boot, this card is matched to the 8250_pci driver, which tries to
      probe it because it matched using the class entry.  The driver finds
      that it is unable to automatically detect the correct settings to use,
      so it returns -ENODEV.
      
      You know that the information the driver needs is to match this card
      using a device_data value of '7'.  So you echo 1234 5678 0 0 0 0 7
      into new_id.
      
      The kernel attempts to re-bind 8250_pci to this device.  However,
      because it scans the PCI driver tables, it _again_ matches the class
      entry which has the wrong device_data.  It fails.
      
      End of story.  You can't support the card without rebuilding the
      kernel (or writing a specific PCI probe module to support it.)
      
      So, can we make new_id override the driver-internal PCI ID tables?
      IOW, like this:
      
      
      From: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7461b60a
  16. 01 Dec, 2006 2 commits
    • Inaky Perez-Gonzalez's avatar
      PCI: switch pci_{enable,disable}_device() to be nestable · bae94d02
      Inaky Perez-Gonzalez authored
      Changes the pci_{enable,disable}_device() functions to work in a
      nested basis, so that eg, three calls to enable_device() require three
      calls to disable_device().
      
      The reason for this is to simplify PCI drivers for
      multi-interface/capability devices. These are devices that cram more
      than one interface in a single function. A relevant example of that is
      the Wireless [USB] Host Controller Interface (similar to EHCI) [see
      http://www.intel.com/technology/comms/wusb/whci.htm]. 
      
      In these kind of devices, multiple interfaces are accessed through a
      single bar and IRQ line. For that, the drivers map only the smallest
      area of the bar to access their register banks and use shared IRQ
      handlers. 
      
      However, because the order at which those drivers load cannot be known
      ahead of time, the sequence in which the calls to pci_enable_device()
      and pci_disable_device() cannot be predicted. Thus:
      
      1. driverA     starts     pci_enable_device()
      2. driverB     starts     pci_enable_device()
      3. driverA     shutdown   pci_disable_device()
      4. driverB     shutdown   pci_disable_device()
      
      between steps 3 and 4, driver B would loose access to it's device,
      even if it didn't intend to.
      
      By using this modification, the device won't be disabled until all the
      callers to enable() have called disable().
      
      This is implemented by replacing 'struct pci_dev->is_enabled' from a
      bitfield to an atomic use count. Each caller to enable increments it,
      each caller to disable decrements it. When the count increments from 0
      to 1, __pci_enable_device() is called to actually enable the
      device. When it drops to zero, pci_disable_device() actually does the
      disabling.
      
      We keep the backend __pci_enable_device() for pci_default_resume() to
      use and also change the sysfs method implementation, so that userspace
      enabling/disabling the device doesn't disable it one time too much.
      Signed-off-by: default avatarInaky Perez-Gonzalez <inaky@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      bae94d02
    • Akinobu Mita's avatar
      pci: fix __pci_register_driver error handling · 50bf14b3
      Akinobu Mita authored
      __pci_register_driver() error path forgot to unwind.
      driver_unregister() needs to be called when pci_create_newid_file() failed.
      Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      50bf14b3
  17. 27 Oct, 2006 1 commit
  18. 27 Sep, 2006 2 commits
    • Alan Cox's avatar
      PCI: Multiprobe sanitizer · 50b00755
      Alan Cox authored
      There are numerous drivers that can use multithreaded probing but having
      some kind of global flag as the way to control this makes migration to
      threaded probing hard and since it enables it everywhere and is almost
      as likely to cause serious pain as holding a clog dance in a minefield.
      
      If we have a pci_driver multithread_probe flag to inherit you can turn
      it on for one driver at a time.
      
      From playing so far however I think we need a different model at the
      device layer which serializes until the called probe function says "ok
      you can start another one now". That would need some kind of flag and
      semaphore plus a helper function.
      
      Anyway in the absence of that this is a starting point to usefully play
      with this stuff
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      50b00755
    • Greg Kroah-Hartman's avatar
      PCI: fix __must_check warnings · b19441af
      Greg Kroah-Hartman authored
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      b19441af
  19. 26 Sep, 2006 3 commits
  20. 26 Aug, 2006 1 commit
  21. 11 Jun, 2006 1 commit
  22. 14 Apr, 2006 1 commit
    • Andrew Morton's avatar
      [PATCH] pm: print name of failed suspend function · 02669492
      Andrew Morton authored
      Print more diagnostic info to help identify the source of power management
      suspend failures.
      
      Example:
      
      usb_hcd_pci_suspend(): pci_set_power_state+0x0/0x1af() returns -22
      pci_device_suspend(): usb_hcd_pci_suspend+0x0/0x11b() returns -22
      suspend_device(): pci_device_suspend+0x0/0x34() returns -22
      
      Work-in-progress.  It needs lots more suspend_report_result() calls sprinkled
      everywhere.
      
      Cc: Patrick Mochel <mochel@digitalimplant.org>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Nigel Cunningham <nigel@suspend2.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      02669492
  23. 23 Mar, 2006 2 commits
  24. 13 Jan, 2006 1 commit
  25. 05 Jan, 2006 1 commit
  26. 11 Nov, 2005 2 commits
  27. 07 Nov, 2005 1 commit
  28. 31 Oct, 2005 1 commit
    • Tim Schmielau's avatar
      [PATCH] fix missing includes · 4e57b681
      Tim Schmielau authored
      I recently picked up my older work to remove unnecessary #includes of
      sched.h, starting from a patch by Dave Jones to not include sched.h
      from module.h. This reduces the number of indirect includes of sched.h
      by ~300. Another ~400 pointless direct includes can be removed after
      this disentangling (patch to follow later).
      However, quite a few indirect includes need to be fixed up for this.
      
      In order to feed the patches through -mm with as little disturbance as
      possible, I've split out the fixes I accumulated up to now (complete for
      i386 and x86_64, more archs to follow later) and post them before the real
      patch.  This way this large part of the patch is kept simple with only
      adding #includes, and all hunks are independent of each other.  So if any
      hunk rejects or gets in the way of other patches, just drop it.  My scripts
      will pick it up again in the next round.
      Signed-off-by: default avatarTim Schmielau <tim@physik3.uni-rostock.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      4e57b681