Skip to content
Snippets Groups Projects
  1. Mar 29, 2011
  2. Mar 23, 2011
    • Serge E. Hallyn's avatar
      userns: security: make capabilities relative to the user namespace · 3486740a
      Serge E. Hallyn authored
      
      - Introduce ns_capable to test for a capability in a non-default
        user namespace.
      - Teach cap_capable to handle capabilities in a non-default
        user namespace.
      
      The motivation is to get to the unprivileged creation of new
      namespaces.  It looks like this gets us 90% of the way there, with
      only potential uid confusion issues left.
      
      I still need to handle getting all caps after creation but otherwise I
      think I have a good starter patch that achieves all of your goals.
      
      Changelog:
      	11/05/2010: [serge] add apparmor
      	12/14/2010: [serge] fix capabilities to created user namespaces
      	Without this, if user serge creates a user_ns, he won't have
      	capabilities to the user_ns he created.  THis is because we
      	were first checking whether his effective caps had the caps
      	he needed and returning -EPERM if not, and THEN checking whether
      	he was the creator.  Reverse those checks.
      	12/16/2010: [serge] security_real_capable needs ns argument in !security case
      	01/11/2011: [serge] add task_ns_capable helper
      	01/11/2011: [serge] add nsown_capable() helper per Bastian Blank suggestion
      	02/16/2011: [serge] fix a logic bug: the root user is always creator of
      		    init_user_ns, but should not always have capabilities to
      		    it!  Fix the check in cap_capable().
      	02/21/2011: Add the required user_ns parameter to security_capable,
      		    fixing a compile failure.
      	02/23/2011: Convert some macros to functions as per akpm comments.  Some
      		    couldn't be converted because we can't easily forward-declare
      		    them (they are inline if !SECURITY, extern if SECURITY).  Add
      		    a current_user_ns function so we can use it in capability.h
      		    without #including cred.h.  Move all forward declarations
      		    together to the top of the #ifdef __KERNEL__ section, and use
      		    kernel-doc format.
      	02/23/2011: Per dhowells, clean up comment in cap_capable().
      	02/23/2011: Per akpm, remove unreachable 'return -EPERM' in cap_capable.
      
      (Original written and signed off by Eric;  latest, modified version
      acked by him)
      
      [akpm@linux-foundation.org: fix build]
      [akpm@linux-foundation.org: export current_user_ns() for ecryptfs]
      [serge.hallyn@canonical.com: remove unneeded extra argument in selinux's task_has_capability]
      Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: default avatarSerge E. Hallyn <serge.hallyn@canonical.com>
      Acked-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Acked-by: default avatarDaniel Lezcano <daniel.lezcano@free.fr>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Cc: James Morris <jmorris@namei.org>
      Signed-off-by: default avatarSerge E. Hallyn <serge.hallyn@canonical.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3486740a
    • Rafael J. Wysocki's avatar
      PCI / Intel IOMMU: Use syscore_ops instead of sysdev class and sysdev · 134fac3f
      Rafael J. Wysocki authored
      
      The Intel IOMMU subsystem uses a sysdev class and a sysdev for
      executing iommu_suspend() after interrupts have been turned off
      on the boot CPU (during system suspend) and for executing
      iommu_resume() before turning on interrupts on the boot CPU
      (during system resume).  However, since both of these functions
      ignore their arguments, the entire mechanism may be replaced with a
      struct syscore_ops object which is simpler.
      
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      134fac3f
  3. Mar 21, 2011
    • Huang Ying's avatar
      ACPI, APEI, Add PCIe AER error information printing support · c413d768
      Huang Ying authored
      
      The AER error information printing support is implemented in
      drivers/pci/pcie/aer/aer_print.c.  So some string constants, functions
      and macros definitions can be re-used without being exported.
      
      The original PCIe AER error information printing function is not
      re-used directly because the overall format is quite different.  And
      changing the original printing format may make some original users'
      scripts broken.
      
      Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
      CC: Jesse Barnes <jbarnes@virtuousgeek.org>
      CC: Zhang Yanmin <yanmin.zhang@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      c413d768
    • Huang Ying's avatar
      PCIe, AER, use pre-generated prefix in error information printing · b64a4414
      Huang Ying authored
      
      When printing PCIe AER error information, each line is prefixed with
      PCIe device and driver information.  In original implementation, the
      prefix is generated when each line is printed.  In fact, all lines
      share the same prefix.  So this patch pre-generated the prefix, and
      use that one when each line is printed.
      
      In addition to common prefix can be pre-generated, the trailing white
      spaces in string constants and NULLs in char * array constants can be
      removed too.  These can reduce the object file size further.
      
      The size of object file before and after changing is as follow:
      
                 text    data     bss     dec
      before:    3038       0       0    3038
      after:     2118       0       0    2118
      
      Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
      CC: Jesse Barnes <jbarnes@virtuousgeek.org>
      CC: Zhang Yanmin <yanmin.zhang@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      b64a4414
    • Naga Chumbalkar's avatar
      PCI: Disable ASPM when _OSC control is not granted for PCIe services · eca67315
      Naga Chumbalkar authored
      v3 -> v2: Added text to describe the problem
      v2 -> v1: Split this patch from v1
      v1	: Part of: http://marc.info/?l=linux-pci&m=130042212003242&w=2
      
      
      
      Disable ASPM when no _OSC control for PCIe services is granted
      by the BIOS. This is to protect systems with a buggy BIOS that
      did not set the ACPI FADT "ASPM Controls" bit even though the
      underlying HW can't do ASPM.
      
      To turn "on" ASPM the minimum the BIOS needs to do:
      1. Clear the ACPI FADT "ASPM Controls" bit.
      2. Support _OSC appropriately
      
      There is no _OSC Control bit for ASPM. However, we expect the BIOS to
      support _OSC for a Root Bridge that originates a PCIe hierarchy. If this
      is not the case - we are better off not enabling ASPM on that server.
      
      Commit 852972ac (ACPI: Disable ASPM if the
      Platform won't provide _OSC control for PCIe) describes the above scenario.
      To quote verbatim from there:
      [The PCI SIG documentation for the _OSC OS/firmware handshaking interface
      states:
      
      "If the _OSC control method is absent from the scope of a host bridge
      device, then the operating system must not enable or attempt to use any
      features defined in this section for the hierarchy originated by the host
      bridge."
      
      The obvious interpretation of this is that the OS should not attempt to use
      PCIe hotplug, PME or AER - however, the specification also notes that an
      _OSC method is *required* for PCIe hierarchies, and experimental validation
      with An Alternative OS indicates that it doesn't use any PCIe functionality
      if the _OSC method is missing. That arguably means we shouldn't be using
      MSI or extended config space, but right now our problems seem to be limited
      to vendors being surprised when ASPM gets enabled on machines when other
      OSs refuse to do so. So, for now, let's just disable ASPM if the _OSC
      method doesn't exist or refuses to hand over PCIe capability control.]
      
      Signed-off-by: default avatarNaga Chumbalkar <nagananda.chumbalkar@hp.com>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      eca67315
    • Naga Chumbalkar's avatar
      PCI: Changing ASPM policy, via /sys, to POWERSAVE could cause NMIs · bbfa306a
      Naga Chumbalkar authored
      v3 -> v2: Modified the text that describes the problem
      v2 -> v1: Returned -EPERM
      v1      : http://marc.info/?l=linux-pci&m=130013194803727&w=2
      
      
      
      For servers whose hardware cannot handle ASPM the BIOS ought to set the
      FADT bit shown below:
      In Sec 5.2.9.3 (IA-PC Boot Arch. Flags) of ACPI4.0a Specification, please
      see Table 5-11:
      PCIe ASPM Controls: If set, indicates to OSPM that it must not enable
      OPSM ASPM control on this platform.
      
      However there are shipping servers whose BIOS did not set this bit. (An
      example is the HP ProLiant DL385 G6. A Maintenance BIOS will fix that).
      For such servers even if a call is made via pci_no_aspm(), based on _OSC
      support in the BIOS, it may be too late because the ASPM code may have
      already allocated and filled its "link_list".
      
      So if a user sets the ASPM "policy" to "powersave" via /sys then
      pcie_aspm_set_policy() will run through the "link_list" and re-configure
      ASPM policy on devices that advertise ASPM L0s/L1 capability:
      # echo powersave > /sys/module/pcie_aspm/parameters/policy
      # cat /sys/module/pcie_aspm/parameters/policy
      default performance [powersave]
      
      That can cause NMIs since the hardware doesn't play well with ASPM:
      [ 1651.906015] NMI: PCI system error (SERR) for reason b1 on CPU 0.
      [ 1651.906015] Dazed and confused, but trying to continue
      
      Ideally, the BIOS should have set that FADT bit in the first place but we
      could be more robust - especially given the fact that Windows doesn't
      cause NMIs in the above scenario.
      
      There should be a sanity check to not allow a user to modify ASPM policy
      when aspm_disabled is set.
      
      Signed-off-by: default avatarNaga Chumbalkar <nagananda.chumbalkar@hp.com>
      Acked-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      bbfa306a
    • Naga Chumbalkar's avatar
      PCI: PCIe links may not get configured for ASPM under POWERSAVE mode · 1a680b7c
      Naga Chumbalkar authored
      v3 -> v2: Moved ASPM enabling logic to pci_set_power_state()
      v2 -> v1: Preserved the logic in pci_raw_set_power_state()
      	: Added ASPM enabling logic after scanning Root Bridge
      	: http://marc.info/?l=linux-pci&m=130046996216391&w=2
      v1	: http://marc.info/?l=linux-pci&m=130013164703283&w=2
      
      
      
      The assumption made in commit 41cd766b
      (PCI: Don't enable aspm before drivers have had a chance to veto it) that
      pci_enable_device() will result in re-configuring ASPM when aspm_policy is
      POWERSAVE is no longer valid.  This is due to commit
      97c145f7 (PCI: read current power state
      at enable time) which resets dev->current_state to D0. Due to this the
      call to pcie_aspm_pm_state_change() is never made. Note the equality check
      (below) that returns early:
      ./drivers/pci/pci.c: pci_raw_set_pci_power_state()
      546         /* Check if we're already there */
      547         if (dev->current_state == state)
      548                 return 0;
      
      Therefore OSPM never configures the PCIe links for ASPM to turn them "on".
      
      Fix it by configuring ASPM from the pci_enable_device() code path. This
      also allows a driver such as the e1000e networking driver a chance to
      disable ASPM (L0s, L1), if need be, prior to enabling the device. A
      driver may perform this action if the device is known to mis-behave
      wrt ASPM.
      
      Signed-off-by: default avatarNaga Chumbalkar <nagananda.chumbalkar@hp.com>
      Acked-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      1a680b7c
    • Rafael J. Wysocki's avatar
      PCI/ACPI: Report ASPM support to BIOS if not disabled from command line · 8b8bae90
      Rafael J. Wysocki authored
      We need to distinguish the situation in which ASPM support is
      disabled from the command line or through .config from the situation
      in which it is disabled, because the hardware or BIOS can't handle
      it.  In the former case we should not report ASPM support to the BIOS
      through ACPI _OSC, but in the latter case we should do that.
      
      Introduce pcie_aspm_support_enabled() that can be used by
      acpi_pci_root_add() to determine whether or not it should report ASPM
      support to the BIOS through _OSC.
      
      Cc: stable@kernel.org
      References: https://bugzilla.kernel.org/show_bug.cgi?id=29722
      References: https://bugzilla.kernel.org/show_bug.cgi?id=20232
      
      
      Reported-and-tested-by: default avatarOrtwin Glück <odi@odi.ch>
      Reviewed-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Tested-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      8b8bae90
  4. Mar 16, 2011
  5. Mar 14, 2011
  6. Mar 04, 2011
    • Ram Pai's avatar
      PCI: pre-allocate additional resources to devices only after successful... · c8adf9a3
      Ram Pai authored
      PCI: pre-allocate additional resources to devices only after successful allocation of essential resources.
      
      Linux tries to pre-allocate minimal resources to hotplug bridges. This
      works fine as long as there are enough resources  to satisfy all other
      genuine resource requirements. However if enough resources are not
      available to satisfy any of these nice-to-have pre-allocations, the
      resource-allocator reports errors and returns failure.
      
      This patch distinguishes between must-have resource from nice-to-have
      resource.  Any failure to allocate nice-to-have resources are ignored.
      
      This behavior can be particularly useful to trigger automatic
      reallocation when the OS discovers genuine allocation-conflicts or
      genuine unallocated-requests caused by buggy allocation behavior of the
      native BIOS/uEFI.
      
      https://bugzilla.kernel.org/show_bug.cgi?id=15960
      
       captures the
      movitation behind the patch. This patch is verified to resolve the above
      bug.
      
          changelog v2:  o  fixed a bug where pci_assign_resource() was called on a
          		  resource of zero resource size.
      
          changelog v3:  addressed Bjorn's comment
          	       o  "Please don't indent and right-justify the changelog".
          	       o  removed add_size from struct resource.  The additional
          		  size is now tracked using a linked list.
      
          changelog v4:  o moved freeing up of elements in head list from
          		assign_requested_resources_sorted() to
          		__assign_resources_sorted().
          	       o removed a wrong reference to 'add_size' in
          			pbus_size_mem().
          	       o some code optimizations in adjust_resources_sorted()
          			and assign_requested_resources_sorted()
      
          changelog v5:  o moved freeing up of elements in head list from
          		assign_requested_resources_sorted() to
          		__assign_resources_sorted().
          	       o removed a wrong reference to 'add_size' in
          			pbus_size_mem().
          	       o some code optimizations in adjust_resources_sorted()
          			and assign_requested_resources_sorted()
      
          changelog v5:  o factored out common code and made them into
      		separate independent patches
          	       o added comments in kdoc format
      	       o added a BUG_ON in pci_assign_unassigned_resources()
      		 to catch for memory leak.
      
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      c8adf9a3
    • Ram Pai's avatar
      PCI: introduce reset_resource() · fc075e1d
      Ram Pai authored
      
      Introduce reset_resource() which factors out resource reset logic.
      
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      fc075e1d
    • Ram Pai's avatar
      PCI: data structure agnostic free list function · 094732a5
      Ram Pai authored
      
      Replace free_failed_list() with a free_list() call. free_list() can
      handle 'resource_list_x', 'resource_list' and any linked list linked
      through ->next
      
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      094732a5
    • Ram Pai's avatar
      PCI: refactor io size calculation code · 13583b16
      Ram Pai authored
      
      Refactor code that calculates the io size in pbus_size_io() and
      pbus_mem_io() into separate functions.
      
      Signed-off-by: default avatarRam Pai <linuxram@us.ibm.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      13583b16
    • Jiri Slaby's avatar
      PCI: do not create quirk I/O regions below PCIBIOS_MIN_IO for ICH · 87e3dc38
      Jiri Slaby authored
      Some broken BIOSes on ICH4 chipset report an ACPI region which is in
      conflict with legacy IDE ports when ACPI is disabled. Even though the
      regions overlap, IDE ports are working correctly (we cannot find out
      the decoding rules on chipsets).
      
      So the only problem is the reported region itself, if we don't reserve
      the region in the quirk everything works as expected.
      
      This patch avoids reserving any quirk regions below PCIBIOS_MIN_IO
      which is 0x1000. Some regions might be (and are by a fast google
      query) below this border, but the only difference is that they won't
      be reserved anymore. They should still work though the same as before.
      
      The conflicts look like (1f.0 is bridge, 1f.1 is IDE ctrl):
      pci 0000:00:1f.1: address space collision: [io 0x0170-0x0177] conflicts with 0000:00:1f.0 [io  0x0100-0x017f]
      
      At 0x0100 a 128 bytes long ACPI region is reported in the quirk for
      ICH4. ata_piix then fails to find disks because the IDE legacy ports
      are zeroed:
      ata_piix 0000:00:1f.1: device not available (can't reserve [io 0x0000-0x0007])
      
      References: https://bugzilla.novell.com/show_bug.cgi?id=558740
      
      
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Thomas Renninger <trenn@suse.de>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      87e3dc38
    • Stefano Stabellini's avatar
      PCI hotplug: acpiphp: set current_state to D0 in register_slot · 47e9037a
      Stefano Stabellini authored
      
      If a device doesn't support power management (pm_cap == 0) but it is
      acpi_pci_power_manageable() because there is a _PS0 method declared for
      it and _EJ0 is also declared for the slot then nobody is going to set
      current_state = PCI_D0 for this device.  This is what I think it is
      happening:
      
      pci_enable_device
          |
      __pci_enable_device_flags
      /* here we do not set current_state because !pm_cap */
          |
      do_pci_enable_device
          |
      pci_set_power_state
          |
      __pci_start_power_transition
          |
      pci_platform_power_transition
      /* platform_pci_power_manageable() calls acpi_pci_power_manageable that
       * returns true */
          |
      platform_pci_set_power_state
      /* acpi_pci_set_power_state gets called and does nothing because the
       * acpi device has _EJ0, see the comment "If the ACPI device has _EJ0,
       * ignore the device" */
      
      at this point if we refer to the commit message that introduced the
      comment above (10b3dcae), it is up to
      the hotplug driver to set the state to D0.
      However AFAICT the pci hotplug driver never does, in fact
      drivers/pci/hotplug/acpiphp_glue.c:register_slot sets the slot flags to
      (SLOT_ENABLED | SLOT_POWEREDON) but it does not set the pci device
      current state to PCI_D0.
      
      So my proposed fix is also to set current_state = PCI_D0 in
      register_slot.
      Comments are very welcome.
      
      Signed-off-by: default avatarStefano Stabellini <stefano.stabellini@eu.citrix.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      47e9037a
    • Narendra_K@Dell.com's avatar
      PCI: Export ACPI _DSM provided firmware instance number and string name to sysfs · 6058989b
      Narendra_K@Dell.com authored
      
      This patch exports ACPI _DSM (Device Specific Method) provided firmware
      instance number and string name of PCI devices as defined by 'PCI
      Firmware Specification Revision 3.1' section 4.6.7.( DSM for Naming a
      PCI or PCI Express Device Under Operating Systems) to sysfs.
      
      New files created are:
        /sys/bus/pci/devices/.../label which contains the firmware name for
      the device in question, and
        /sys/bus/pci/devices/.../acpi_index which contains the firmware device type
      instance for the given device.
      
      cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/acpi_index
      1
      cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/label
      Embedded Broadcom 5709C NIC 1
      
      cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/acpi_index
      2
      cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/label
      Embedded Broadcom 5709C NIC 2
      
      The ACPI _DSM provided firmware 'instance number' and 'string name' will
      be given priority if the firmware also provides 'SMBIOS type 41 device
      type instance and string'.
      
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      Signed-off-by: default avatarJordan Hargrave <jordan_hargrave@dell.com>
      Signed-off-by: default avatarNarendra K <narendra_k@dell.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      6058989b
    • Jiri Slaby's avatar
      PCI: add more checking to ICH region quirks · cdb97558
      Jiri Slaby authored
      
      Per ICH4 and ICH6 specs, ACPI and GPIO regions are valid iff ACPI_EN
      and GPIO_EN bits are set to 1. Add checks for these bits into the
      quirks prior to the region creation.
      
      While at it, name the constants by macros.
      
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Thomas Renninger <trenn@suse.de>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      cdb97558
    • Prarit Bhargava's avatar
      PCI: aer-inject: Override PCIe AER Mask Registers · 457d9d08
      Prarit Bhargava authored
      
      I have several systems which have the same problem:  The PCIe AER
      corrected and uncorrected masks have all the error bits set.  This
      results in the inablility to test with the aer_inject module & utility
      on those systems.
      
      Add the 'aer_mask_override' module parameter which will override the
      corrected or uncorrected masks for a PCI device.  The mask will have the
      bit corresponding to the status passed into the aer_inject() function.
      
      After this patch it is possible to successfully use the aer_inject
      utility on those PCI slots.
      
      Successfully tested by me on a Dell and Intel whitebox which exhibited
      the mask problem.
      
      Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      457d9d08
  7. Feb 24, 2011
    • Rafael J. Wysocki's avatar
      ACPI: Remove the wakeup.run_wake_count device field · 51907267
      Rafael J. Wysocki authored
      
      The wakeup.run_wake_count ACPI device field is only used by the PCI
      runtime PM code to "protect" devices from being prepared for
      generating wakeup signals more than once in a row.  However, it
      really doesn't provide any protection, because (1) all of the
      functions it is supposed to protect use their own reference counters
      effectively ensuring that the device will be set up for generating
      wakeup signals just once and (2) the PCI runtime PM code uses
      wakeup.run_wake_count in a racy way, since nothing prevents
      acpi_dev_run_wake() from being called concurrently from two different
      threads for the same device.
      
      Remove the wakeup.run_wake_count ACPI device field which is
      unnecessary, confusing and used in a wrong way.
      
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      51907267
  8. Feb 18, 2011
  9. Feb 17, 2011
  10. Feb 16, 2011
  11. Feb 15, 2011
  12. Feb 13, 2011
  13. Feb 10, 2011
  14. Feb 08, 2011
  15. Jan 20, 2011
    • David Rientjes's avatar
      kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT · 6a108a14
      David Rientjes authored
      
      The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
      is used to configure any non-standard kernel with a much larger scope than
      only small devices.
      
      This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
      references to the option throughout the kernel.  A new CONFIG_EMBEDDED
      option is added that automatically selects CONFIG_EXPERT when enabled and
      can be used in the future to isolate options that should only be
      considered for embedded systems (RISC architectures, SLOB, etc).
      
      Calling the option "EXPERT" more accurately represents its intention: only
      expert users who understand the impact of the configuration changes they
      are making should enable it.
      
      Reviewed-by: default avatarIngo Molnar <mingo@elte.hu>
      Acked-by: default avatarDavid Woodhouse <david.woodhouse@intel.com>
      Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
      Cc: Greg KH <gregkh@suse.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Robin Holt <holt@sgi.com>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6a108a14
  16. Jan 14, 2011
  17. Jan 10, 2011
  18. Jan 05, 2011
  19. Dec 23, 2010
    • Rafael J. Wysocki's avatar
      PCI/PCIe: Clear Root PME Status bits early during system resume · fe31e697
      Rafael J. Wysocki authored
      
      I noticed that PCI Express PMEs don't work on my Toshiba Portege R500
      after the system has been woken up from a sleep state by a PME
      (through Wake-on-LAN).  After some investigation it turned out that
      the BIOS didn't clear the Root PME Status bit in the root port that
      received the wakeup PME and since the Requester ID was also set in
      the port's Root Status register, any subsequent PMEs didn't trigger
      interrupts.
      
      This problem can be avoided by clearing the Root PME Status bits in
      all PCI Express root ports during early resume.  For this purpose,
      add an early resume routine to the PCIe port driver and make this
      driver be always registered, even if pci_ports_disable is set (in
      which case the driver's only function is to provide the early
      resume callback).
      
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      fe31e697
Loading