From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: stable-review@kernel.org, torvalds@linux-foundation.org,
akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
"Rafael J. Wysocki" <rjw@sisk.pl>,
Len Brown <len.brown@intel.com>
Subject: [189/205] ACPI / ACPICA: Fix low-level GPE manipulation code
Date: Fri, 30 Jul 2010 10:53:26 -0700 [thread overview]
Message-ID: <20100730175151.053840640@clark.site> (raw)
In-Reply-To: <20100730175238.GA3924@kroah.com>
2.6.34-stable review patch. If anyone has any objections, please let us know.
------------------
From: Rafael J. Wysocki <rjw@sisk.pl>
commit fd247447c1d94a79d5cfc647430784306b3a8323 upstream.
ACPICA uses acpi_ev_enable_gpe() for enabling GPEs at the low level,
which is incorrect, because this function only enables the GPE if the
corresponding bit in its enable register's enable_for_run mask is set.
This causes acpi_set_gpe() to work incorrectly if used for enabling
GPEs that were not previously enabled with acpi_enable_gpe(). As a
result, among other things, wakeup-only GPEs are never enabled by
acpi_enable_wakeup_device(), so the devices that use them are unable
to wake up the system.
To fix this issue remove acpi_ev_enable_gpe() and its counterpart
acpi_ev_disable_gpe() and replace acpi_hw_low_disable_gpe() with
acpi_hw_low_set_gpe() that will be used instead to manipulate GPE
enable bits at the low level. Make the users of acpi_ev_enable_gpe()
and acpi_ev_disable_gpe() call acpi_hw_low_set_gpe() instead and
make sure that GPE enable masks are only updated by acpi_enable_gpe()
and acpi_disable_gpe() when GPE reference counters change from 0
to 1 and from 1 to 0, respectively.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/acpi/acpica/acevents.h | 4 --
drivers/acpi/acpica/achware.h | 3 +
drivers/acpi/acpica/evgpe.c | 78 +----------------------------------------
drivers/acpi/acpica/evxfevnt.c | 66 ++++++++++++++++++++++++++++++----
drivers/acpi/acpica/hwgpe.c | 26 +++++++++++--
include/acpi/acexcep.h | 2 -
6 files changed, 84 insertions(+), 95 deletions(-)
--- a/drivers/acpi/acpica/acevents.h
+++ b/drivers/acpi/acpica/acevents.h
@@ -78,10 +78,6 @@ acpi_ev_queue_notify_request(struct acpi
acpi_status
acpi_ev_update_gpe_enable_masks(struct acpi_gpe_event_info *gpe_event_info);
-acpi_status acpi_ev_enable_gpe(struct acpi_gpe_event_info *gpe_event_info);
-
-acpi_status acpi_ev_disable_gpe(struct acpi_gpe_event_info *gpe_event_info);
-
struct acpi_gpe_event_info *acpi_ev_get_gpe_event_info(acpi_handle gpe_device,
u32 gpe_number);
--- a/drivers/acpi/acpica/achware.h
+++ b/drivers/acpi/acpica/achware.h
@@ -93,7 +93,8 @@ acpi_status acpi_hw_write_port(acpi_io_a
u32 acpi_hw_gpe_register_bit(struct acpi_gpe_event_info *gpe_event_info,
struct acpi_gpe_register_info *gpe_register_info);
-acpi_status acpi_hw_low_disable_gpe(struct acpi_gpe_event_info *gpe_event_info);
+acpi_status
+acpi_hw_low_set_gpe(struct acpi_gpe_event_info *gpe_event_info, u8 action);
acpi_status
acpi_hw_write_gpe_enable_reg(struct acpi_gpe_event_info *gpe_event_info);
--- a/drivers/acpi/acpica/evgpe.c
+++ b/drivers/acpi/acpica/evgpe.c
@@ -94,76 +94,6 @@ acpi_ev_update_gpe_enable_masks(struct a
/*******************************************************************************
*
- * FUNCTION: acpi_ev_enable_gpe
- *
- * PARAMETERS: gpe_event_info - GPE to enable
- *
- * RETURN: Status
- *
- * DESCRIPTION: Enable a GPE based on the GPE type
- *
- ******************************************************************************/
-
-acpi_status acpi_ev_enable_gpe(struct acpi_gpe_event_info *gpe_event_info)
-{
- acpi_status status;
-
- ACPI_FUNCTION_TRACE(ev_enable_gpe);
-
- /* Make sure HW enable masks are updated */
-
- status = acpi_ev_update_gpe_enable_masks(gpe_event_info);
- if (ACPI_FAILURE(status))
- return_ACPI_STATUS(status);
-
- /* Clear the GPE (of stale events), then enable it */
- status = acpi_hw_clear_gpe(gpe_event_info);
- if (ACPI_FAILURE(status))
- return_ACPI_STATUS(status);
-
- /* Enable the requested GPE */
- status = acpi_hw_write_gpe_enable_reg(gpe_event_info);
- return_ACPI_STATUS(status);
-}
-
-/*******************************************************************************
- *
- * FUNCTION: acpi_ev_disable_gpe
- *
- * PARAMETERS: gpe_event_info - GPE to disable
- *
- * RETURN: Status
- *
- * DESCRIPTION: Disable a GPE based on the GPE type
- *
- ******************************************************************************/
-
-acpi_status acpi_ev_disable_gpe(struct acpi_gpe_event_info *gpe_event_info)
-{
- acpi_status status;
-
- ACPI_FUNCTION_TRACE(ev_disable_gpe);
-
- /* Make sure HW enable masks are updated */
-
- status = acpi_ev_update_gpe_enable_masks(gpe_event_info);
- if (ACPI_FAILURE(status))
- return_ACPI_STATUS(status);
-
- /*
- * Even if we don't know the GPE type, make sure that we always
- * disable it. low_disable_gpe will just clear the enable bit for this
- * GPE and write it. It will not write out the current GPE enable mask,
- * since this may inadvertently enable GPEs too early, if a rogue GPE has
- * come in during ACPICA initialization - possibly as a result of AML or
- * other code that has enabled the GPE.
- */
- status = acpi_hw_low_disable_gpe(gpe_event_info);
- return_ACPI_STATUS(status);
-}
-
-/*******************************************************************************
- *
* FUNCTION: acpi_ev_get_gpe_event_info
*
* PARAMETERS: gpe_device - Device node. NULL for GPE0/GPE1
@@ -388,10 +318,6 @@ static void ACPI_SYSTEM_XFACE acpi_ev_as
return_VOID;
}
- /* Set the GPE flags for return to enabled state */
-
- (void)acpi_ev_update_gpe_enable_masks(gpe_event_info);
-
/*
* Take a snapshot of the GPE info for this level - we copy the info to
* prevent a race condition with remove_handler/remove_block.
@@ -544,7 +470,7 @@ acpi_ev_gpe_dispatch(struct acpi_gpe_eve
* Disable the GPE, so it doesn't keep firing before the method has a
* chance to run (it runs asynchronously with interrupts enabled).
*/
- status = acpi_ev_disable_gpe(gpe_event_info);
+ status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_DISABLE);
if (ACPI_FAILURE(status)) {
ACPI_EXCEPTION((AE_INFO, status,
"Unable to disable GPE[%2X]",
@@ -578,7 +504,7 @@ acpi_ev_gpe_dispatch(struct acpi_gpe_eve
* Disable the GPE. The GPE will remain disabled until the ACPICA
* Core Subsystem is restarted, or a handler is installed.
*/
- status = acpi_ev_disable_gpe(gpe_event_info);
+ status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_DISABLE);
if (ACPI_FAILURE(status)) {
ACPI_EXCEPTION((AE_INFO, status,
"Unable to disable GPE[%2X]",
--- a/drivers/acpi/acpica/evxfevnt.c
+++ b/drivers/acpi/acpica/evxfevnt.c
@@ -201,6 +201,44 @@ ACPI_EXPORT_SYMBOL(acpi_enable_event)
/*******************************************************************************
*
+ * FUNCTION: acpi_clear_and_enable_gpe
+ *
+ * PARAMETERS: gpe_event_info - GPE to enable
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Clear the given GPE from stale events and enable it.
+ *
+ ******************************************************************************/
+static acpi_status
+acpi_clear_and_enable_gpe(struct acpi_gpe_event_info *gpe_event_info)
+{
+ acpi_status status;
+
+ /*
+ * We will only allow a GPE to be enabled if it has either an
+ * associated method (_Lxx/_Exx) or a handler. Otherwise, the
+ * GPE will be immediately disabled by acpi_ev_gpe_dispatch the
+ * first time it fires.
+ */
+ if (!(gpe_event_info->flags & ACPI_GPE_DISPATCH_MASK)) {
+ return_ACPI_STATUS(AE_NO_HANDLER);
+ }
+
+ /* Clear the GPE (of stale events) */
+ status = acpi_hw_clear_gpe(gpe_event_info);
+ if (ACPI_FAILURE(status)) {
+ return_ACPI_STATUS(status);
+ }
+
+ /* Enable the requested GPE */
+ status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_ENABLE);
+
+ return_ACPI_STATUS(status);
+}
+
+/*******************************************************************************
+ *
* FUNCTION: acpi_set_gpe
*
* PARAMETERS: gpe_device - Parent GPE Device
@@ -235,11 +273,11 @@ acpi_status acpi_set_gpe(acpi_handle gpe
switch (action) {
case ACPI_GPE_ENABLE:
- status = acpi_ev_enable_gpe(gpe_event_info);
+ status = acpi_clear_and_enable_gpe(gpe_event_info);
break;
case ACPI_GPE_DISABLE:
- status = acpi_ev_disable_gpe(gpe_event_info);
+ status = acpi_hw_low_set_gpe(gpe_event_info, ACPI_GPE_DISABLE);
break;
default:
@@ -291,9 +329,13 @@ acpi_status acpi_enable_gpe(acpi_handle
if (type & ACPI_GPE_TYPE_RUNTIME) {
if (++gpe_event_info->runtime_count == 1) {
- status = acpi_ev_enable_gpe(gpe_event_info);
- if (ACPI_FAILURE(status))
+ status = acpi_ev_update_gpe_enable_masks(gpe_event_info);
+ if (ACPI_SUCCESS(status)) {
+ status = acpi_clear_and_enable_gpe(gpe_event_info);
+ }
+ if (ACPI_FAILURE(status)) {
gpe_event_info->runtime_count--;
+ }
}
}
@@ -308,7 +350,7 @@ acpi_status acpi_enable_gpe(acpi_handle
* system into a sleep state.
*/
if (++gpe_event_info->wakeup_count == 1)
- acpi_ev_update_gpe_enable_masks(gpe_event_info);
+ status = acpi_ev_update_gpe_enable_masks(gpe_event_info);
}
unlock_and_exit:
@@ -351,8 +393,16 @@ acpi_status acpi_disable_gpe(acpi_handle
}
if ((type & ACPI_GPE_TYPE_RUNTIME) && gpe_event_info->runtime_count) {
- if (--gpe_event_info->runtime_count == 0)
- status = acpi_ev_disable_gpe(gpe_event_info);
+ if (--gpe_event_info->runtime_count == 0) {
+ status = acpi_ev_update_gpe_enable_masks(gpe_event_info);
+ if (ACPI_SUCCESS(status)) {
+ status = acpi_hw_low_set_gpe(gpe_event_info,
+ ACPI_GPE_DISABLE);
+ }
+ if (ACPI_FAILURE(status)) {
+ gpe_event_info->runtime_count++;
+ }
+ }
}
if ((type & ACPI_GPE_TYPE_WAKE) && gpe_event_info->wakeup_count) {
@@ -361,7 +411,7 @@ acpi_status acpi_disable_gpe(acpi_handle
* states, so we don't need to disable them here.
*/
if (--gpe_event_info->wakeup_count == 0)
- acpi_ev_update_gpe_enable_masks(gpe_event_info);
+ status = acpi_ev_update_gpe_enable_masks(gpe_event_info);
}
unlock_and_exit:
--- a/drivers/acpi/acpica/hwgpe.c
+++ b/drivers/acpi/acpica/hwgpe.c
@@ -78,23 +78,27 @@ u32 acpi_hw_gpe_register_bit(struct acpi
/******************************************************************************
*
- * FUNCTION: acpi_hw_low_disable_gpe
+ * FUNCTION: acpi_hw_low_set_gpe
*
* PARAMETERS: gpe_event_info - Info block for the GPE to be disabled
+ * action - Enable or disable
*
* RETURN: Status
*
- * DESCRIPTION: Disable a single GPE in the enable register.
+ * DESCRIPTION: Enable or disable a single GPE in its enable register.
*
******************************************************************************/
-acpi_status acpi_hw_low_disable_gpe(struct acpi_gpe_event_info *gpe_event_info)
+acpi_status
+acpi_hw_low_set_gpe(struct acpi_gpe_event_info *gpe_event_info, u8 action)
{
struct acpi_gpe_register_info *gpe_register_info;
acpi_status status;
u32 enable_mask;
u32 register_bit;
+ ACPI_FUNCTION_ENTRY();
+
/* Get the info block for the entire GPE register */
gpe_register_info = gpe_event_info->register_info;
@@ -109,11 +113,23 @@ acpi_status acpi_hw_low_disable_gpe(stru
return (status);
}
- /* Clear just the bit that corresponds to this GPE */
+ /* Set or clear just the bit that corresponds to this GPE */
register_bit = acpi_hw_gpe_register_bit(gpe_event_info,
gpe_register_info);
- ACPI_CLEAR_BIT(enable_mask, register_bit);
+ switch (action) {
+ case ACPI_GPE_ENABLE:
+ ACPI_SET_BIT(enable_mask, register_bit);
+ break;
+
+ case ACPI_GPE_DISABLE:
+ ACPI_CLEAR_BIT(enable_mask, register_bit);
+ break;
+
+ default:
+ ACPI_ERROR((AE_INFO, "Invalid action\n"));
+ return (AE_BAD_PARAMETER);
+ }
/* Write the updated enable mask */
--- a/include/acpi/acexcep.h
+++ b/include/acpi/acexcep.h
@@ -87,7 +87,7 @@
#define AE_NO_GLOBAL_LOCK (acpi_status) (0x0017 | AE_CODE_ENVIRONMENTAL)
#define AE_ABORT_METHOD (acpi_status) (0x0018 | AE_CODE_ENVIRONMENTAL)
#define AE_SAME_HANDLER (acpi_status) (0x0019 | AE_CODE_ENVIRONMENTAL)
-#define AE_WAKE_ONLY_GPE (acpi_status) (0x001A | AE_CODE_ENVIRONMENTAL)
+#define AE_NO_HANDLER (acpi_status) (0x001A | AE_CODE_ENVIRONMENTAL)
#define AE_OWNER_ID_LIMIT (acpi_status) (0x001B | AE_CODE_ENVIRONMENTAL)
#define AE_CODE_ENV_MAX 0x001B
next prev parent reply other threads:[~2010-07-30 18:06 UTC|newest]
Thread overview: 206+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-30 17:52 [000/205] 2.6.34.2-rc1 stable review Greg KH
2010-07-30 17:50 ` [001/205] virtio-pci: disable msi at startup Greg KH
2010-07-30 17:50 ` [002/205] virtio: return ENOMEM on out of memory Greg KH
2010-07-30 17:50 ` [003/205] virtio_net: do not reschedule rx refill forever Greg KH
2010-07-30 17:50 ` [004/205] bridge: fdb cleanup runs too often Greg KH
2010-07-30 17:50 ` [005/205] net/dccp: expansion of error code size Greg KH
2010-07-30 17:50 ` [006/205] gro: Fix bogus gso_size on the first fraglist entry Greg KH
2010-07-30 17:50 ` [007/205] IPv6: fix Mobile IPv6 regression Greg KH
2010-07-30 17:50 ` [008/205] pegasus: fix USB device ID for ETX-US2 Greg KH
2010-07-30 17:50 ` [009/205] r8169: fix random mdio_write failures Greg KH
2010-07-30 17:50 ` [010/205] r8169: fix mdio_read and update mdio_write according to hw specs Greg KH
2010-07-30 17:50 ` [011/205] tcp: tcp_synack_options() fix Greg KH
2010-07-30 17:50 ` [012/205] tcp: use correct net ns in cookie_v4_check() Greg KH
2010-07-30 17:50 ` [013/205] usbnet: Set parent device early for netdev_printk() Greg KH
2010-07-30 17:50 ` [014/205] fix mis-applied upstream commit ac9721f3f54b27a16c7e1afb2481e7ee95a70318 Greg KH
2010-07-30 17:50 ` [015/205] ssb: Handle Netbook devices where the SPROM address is changed Greg KH
2010-07-30 17:50 ` [016/205] hwmon: (k8temp) Bypass core swapping on single-core processors Greg KH
2010-07-30 17:50 ` [017/205] hwmon: (k8temp) Fix temperature reporting for ASB1 processor revisions Greg KH
2010-07-30 17:50 ` [018/205] hwmon: (i5k_amb) Fix sysfs attribute for lockdep Greg KH
2010-07-30 17:50 ` [019/205] hwmon: (k10temp) Do not blacklist known working CPU models Greg KH
2010-07-30 17:50 ` [020/205] hwmon: (coretemp) Properly label the sensors Greg KH
2010-07-30 17:50 ` [021/205] hwmon: (coretemp) Skip duplicate CPU entries Greg KH
2010-07-30 17:50 ` [022/205] hwmon: (it87) Fix in7 on IT8720F Greg KH
2010-07-30 17:50 ` [023/205] cifs: remove bogus first_time check in NTLMv2 session setup code Greg KH
2010-07-30 17:50 ` [024/205] cifs: dont attempt busy-file rename unless its in same directory Greg KH
2010-07-30 17:50 ` [025/205] CIFS: Fix a malicious redirect problem in the DNS lookup code Greg KH
2010-07-30 17:50 ` [026/205] ALSA: hda - Dont check capture source mixer if no ADC is available Greg KH
2010-07-30 17:50 ` [027/205] ALSA: hda - Add Macbook 5,2 quirk Greg KH
2010-07-30 17:50 ` [028/205] ALSA: hda - Restore cleared pin controls on resume Greg KH
2010-07-30 17:50 ` [029/205] cpmac: do not leak struct net_device on phy_connect errors Greg KH
2010-07-30 17:50 ` [030/205] sky2: Restore multicast after restart Greg KH
2010-07-30 17:50 ` [031/205] sky2: enable rx/tx in sky2_phy_reinit() Greg KH
2010-07-30 17:50 ` [032/205] net: fix problem in reading sock TX queue Greg KH
2010-07-30 17:50 ` [033/205] tcp: fix crash in tcp_xmit_retransmit_queue Greg KH
2010-07-30 17:50 ` [034/205] net/core: neighbour update Oops Greg KH
2010-07-30 17:50 ` [035/205] math-emu: correct test for downshifting fraction in _FP_FROM_INT() Greg KH
2010-07-30 17:50 ` [036/205] cmd640: fix kernel oops in test_irq() method Greg KH
2010-07-30 17:50 ` [037/205] NFSv4: Fix an embarassing typo in encode_attrs() Greg KH
2010-07-30 17:50 ` [038/205] NFSv4: Ensure that /proc/self/mountinfo displays the minor version number Greg KH
2010-07-30 17:50 ` [039/205] SUNRPC: Fix a re-entrancy bug in xs_tcp_read_calldir() Greg KH
2010-07-30 17:50 ` [040/205] powerpc/5200: Fix build error in sound code Greg KH
2010-07-30 17:50 ` [041/205] ath9k: Avoid corrupt frames being forwarded to mac80211 Greg KH
2010-07-30 17:50 ` [042/205] hostap: Protect against initialization interrupt Greg KH
2010-07-30 17:51 ` [043/205] TPM: ReadPubEK output struct fix Greg KH
2010-07-30 17:51 ` [044/205] fb: fix colliding defines for fb flags Greg KH
2010-07-30 17:51 ` [045/205] iwlwifi: cancel scan watchdog in iwl_bg_abort_scan Greg KH
2010-07-30 17:51 ` [046/205] mac80211: do not wip out old supported rates Greg KH
2010-07-30 17:51 ` [047/205] Btrfs: fix checks in BTRFS_IOC_CLONE_RANGE Greg KH
2010-07-30 17:51 ` [048/205] ocfs2: No need to zero pages past i_size Greg KH
2010-07-30 17:51 ` [049/205] ocfs2: When zero extending, do it by page Greg KH
2010-07-30 17:51 ` [050/205] p54pci: add Symbol AP-300 minipci adapters pciid Greg KH
2010-07-30 17:51 ` [051/205] perf_events: Fix Intel Westmere event constraints Greg KH
2010-07-30 17:51 ` [052/205] dynamic debug: move ddebug_remove_module() down into free_module() Greg KH
2010-07-30 17:51 ` [053/205] drm/i915: fix hibernation since i915 self-reclaim fixes Greg KH
2010-07-30 17:51 ` [054/205] drm/i915: dont access FW_BLC_SELF on 965G Greg KH
2010-07-30 17:51 ` [055/205] drm/i915: add reclaimable to i915 self-reclaimable page allocations Greg KH
2010-07-30 17:51 ` [056/205] i915: fix lock imbalance on error path Greg KH
2010-07-30 17:51 ` [057/205] drm/i915: Define MI_ARB_STATE bits Greg KH
2010-07-30 17:51 ` [058/205] drm/i915: enable low power render writes on GEN3 hardware Greg KH
2010-07-30 17:51 ` [059/205] drm/i915: Make G4X-style PLL search more permissive Greg KH
2010-07-30 17:51 ` [060/205] drm/radeon/r200: handle more hw tex coord types Greg KH
2010-07-30 17:51 ` [061/205] drm/radeon/r100/r200: fix calculation of compressed cube maps Greg KH
2010-07-30 17:51 ` [062/205] drm/radeon/kms: fix DP after DPMS cycle Greg KH
2010-07-30 17:51 ` [063/205] drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx Greg KH
2010-07-30 17:51 ` [064/205] drm/radeon/kms: fix shared ddc handling Greg KH
2010-07-30 17:51 ` [065/205] drm/radeon/kms: fix shared ddc harder Greg KH
2010-07-30 17:51 ` [066/205] drm/radeon/kms: add quirk for ASUS HD 3600 board Greg KH
2010-07-30 17:51 ` [067/205] drm/radeon/kms: fix possible mis-detection of sideport on rs690/rs740 Greg KH
2010-07-30 17:51 ` [068/205] drm/radeon/kms: fix legacy LVDS dpms sequence Greg KH
2010-07-30 17:51 ` [069/205] drm/radeon/kms: fix legacy tv-out pal mode Greg KH
2010-07-30 17:51 ` [070/205] tpm_tis: fix subsequent suspend failures Greg KH
2010-07-30 17:51 ` [071/205] IPv6: keep route for tentative address Greg KH
2010-07-30 17:51 ` [072/205] IPv6: only notify protocols if address is completely gone Greg KH
2010-07-30 17:51 ` [073/205] ipvs: Add missing locking during connection table hashing and unhashing Greg KH
2010-07-30 17:51 ` [074/205] ipv6: fix NULL reference in proxy neighbor discovery Greg KH
2010-07-30 17:51 ` [075/205] netfilter: ip6t_REJECT: fix a dst leak in ipv6 REJECT Greg KH
2010-07-30 17:51 ` [076/205] SCSI: aacraid: Eliminate use after free Greg KH
2010-07-30 17:51 ` [077/205] md: raid10: Fix null pointer dereference in fix_read_error() Greg KH
2010-07-30 17:51 ` [078/205] amd64-agp: Probe unknown AGP devices the right way Greg KH
2010-07-30 17:51 ` [079/205] amd64_edac: Fix syndrome calculation on K8 Greg KH
2010-07-30 17:51 ` [080/205] perf, x86: Fix incorrect branches event on AMD CPUs Greg KH
2010-07-30 17:51 ` [081/205] ARM: 6205/1: perf: ensure counter delta is treated as unsigned Greg KH
2010-07-30 17:51 ` [082/205] perf: Resurrect flat callchains Greg KH
2010-07-30 17:51 ` [083/205] x86: Send a SIGTRAP for user icebp traps Greg KH
2010-07-30 17:51 ` [084/205] x86: Fix vsyscall on gcc 4.5 with -Os Greg KH
2010-07-30 17:51 ` [085/205] x86, Calgary: Increase max PHB number Greg KH
2010-07-30 17:51 ` [086/205] x86, Calgary: Limit the max PHB number to 256 Greg KH
2010-07-30 17:51 ` [087/205] sched: Prevent compiler from optimising the sched_avg_update() loop Greg KH
2010-07-30 17:51 ` [088/205] ipmi: set schedule_timeout_wait() value back to one Greg KH
2010-07-30 17:51 ` [089/205] sched: Fix over-scheduling bug Greg KH
2010-07-30 17:51 ` [090/205] genirq: Deal with desc->set_type() changing desc->chip Greg KH
2010-07-30 17:51 ` [091/205] cfq: Dont allow queue merges for queues that have no process references Greg KH
2010-07-30 17:51 ` [092/205] sysvfs: fix NULL deref. when allocating new inode Greg KH
2010-07-30 17:51 ` [093/205] serial: cpm_uart: implement the cpm_uart_early_write() function for console poll Greg KH
2010-07-30 17:51 ` [094/205] um: os-linux/mem.c needs sys/stat.h Greg KH
2010-07-30 17:51 ` [095/205] compiler-gcc.h: gcc-4.5 needs noclone and noinline on __naked functions Greg KH
2010-07-30 17:51 ` [096/205] rtc: fix ds1388 time corruption Greg KH
2010-07-30 17:51 ` [097/205] ahci,ata_generic: let ata_generic handle new MBP w/ MCP89 Greg KH
2010-07-30 17:51 ` [098/205] ata_generic: implement ATA_GEN_* flags and force enable DMA on MBP 7,1 Greg KH
2010-07-30 17:51 ` [099/205] ethtool: Fix potential kernel buffer overflow in ETHTOOL_GRXCLSRLALL Greg KH
2010-07-30 17:51 ` [100/205] powerpc: Fix logic error in fixup_irqs Greg KH
2010-07-30 17:51 ` [101/205] powerpc/cpm: Reintroduce global spi_pram struct (fixes build issue) Greg KH
2010-07-30 17:51 ` [102/205] powerpc/cpm1: Fix build with various CONFIG_*_UCODE_PATCH combinations Greg KH
2010-07-30 17:52 ` [103/205] kmemleak: Add support for NO_BOOTMEM configurations Greg KH
2010-07-30 17:52 ` [104/205] sdhci-s3c: add missing remove function Greg KH
2010-07-30 17:52 ` [105/205] virtio_net: fix oom handling on tx Greg KH
2010-07-30 17:52 ` [106/205] virtio: fix oops on OOM Greg KH
2010-07-30 17:52 ` [107/205] edac: mpc85xx: fix MPC85xx dependency Greg KH
2010-07-30 17:52 ` [108/205] ASoC: Remove duplicate AUX definition from WM8776 Greg KH
2010-07-30 17:52 ` [109/205] x86,nobootmem: make alloc_bootmem_node fall back to other node when 32bit numa is used Greg KH
2010-07-30 17:52 ` [110/205] Input: gamecon - reference correct input device in NES mode Greg KH
2010-07-30 17:52 ` [111/205] Input: gamecon - reference correct pad in gc_psx_command() Greg KH
2010-07-30 17:52 ` [112/205] x86: Fix x2apic preenabled system with kexec Greg KH
2010-07-30 17:52 ` [113/205] IPoIB: Fix world-writable child interface control sysfs attributes Greg KH
2010-07-30 17:52 ` [114/205] Input: i8042 - add Gigabyte Spring Peak to dmi_noloop_table Greg KH
2010-07-30 17:52 ` [115/205] Input: twl40300-keypad - fix handling of "all ground" rows Greg KH
2010-07-30 17:52 ` [116/205] ARM: 6201/1: RealView: Do not use outer_sync() on ARM11MPCore boards with L220 Greg KH
2010-07-30 17:52 ` [117/205] ARM: 6211/1: atomic ops: fix register constraints for atomic64_add_unless Greg KH
2010-07-30 17:52 ` [118/205] ARM: 6212/1: atomic ops: add memory constraints to inline asm Greg KH
2010-07-30 17:52 ` [119/205] ARM: 6226/1: fix kprobe bug in ldr instruction emulation Greg KH
2010-07-30 17:52 ` [120/205] x86: Do not try to disable hpet if it hasnt been initialized before Greg KH
2010-07-30 17:52 ` [121/205] x86, pci, mrst: Add extra sanity check in walking the PCI extended cap chain Greg KH
2010-07-30 17:52 ` [122/205] x86: kprobes: fix swapped segment registers in kretprobe Greg KH
2010-07-30 17:52 ` [123/205] x86, i8259: Only register sysdev if we have a real 8259 PIC Greg KH
2010-07-30 17:52 ` [124/205] USB: dont enable remote wakeup by default Greg KH
2010-07-30 17:52 ` [125/205] USB: g_serial: dont set low_latency flag Greg KH
2010-07-30 17:52 ` [126/205] USB: g_serial: fix tty cleanup on unload Greg KH
2010-07-30 17:52 ` [127/205] usb: musb: Fix a bug by making suspend interrupt available in device mode Greg KH
2010-07-30 17:52 ` [128/205] USB: ehci-mxc: bail out on transceiver problems Greg KH
2010-07-30 17:52 ` [129/205] USB: obey the sysfs power/wakeup setting Greg KH
2010-07-30 17:52 ` [130/205] USB: musb_core: make disconnect and suspend interrupts work again Greg KH
2010-07-30 17:52 ` [131/205] USB: MUSB: make non-OMAP platforms build with CONFIG_PM=y Greg KH
2010-07-30 17:52 ` [132/205] USB: option: add support for 1da5:4518 Greg KH
2010-07-30 17:52 ` [133/205] USB: Add PID for Sierra 250U to drivers/usb/serial/sierra.c Greg KH
2010-07-30 17:52 ` [134/205] USB: ftdi_sio: support for Signalyzer tools based on FTDI chips Greg KH
2010-07-30 17:52 ` [135/205] USB: option: Add support for AMOI Skypephone S2 Greg KH
2010-07-30 17:52 ` [136/205] USB: Fix USB3.0 Port Speed Downgrade after port reset Greg KH
2010-07-30 17:52 ` [137/205] USB: adds Artisman USB dongle to list of quirky devices Greg KH
2010-07-30 17:52 ` [138/205] USB: sisusbvga: Fix for USB 3.0 Greg KH
2010-07-30 17:52 ` [139/205] USB: xhci: Set Mult field in endpoint context correctly Greg KH
2010-07-30 17:52 ` [140/205] USB: add quirk for Broadcom BT dongle Greg KH
2010-07-30 17:52 ` [141/205] USB: FTDI: Add support for the RT System VX-7 radio programming cable Greg KH
2010-07-30 17:52 ` [142/205] USB: musb: tusb6010: fix compile error with n8x0_defconfig Greg KH
2010-07-30 17:52 ` [143/205] drm/i915: gen3 page flipping fixes Greg KH
2010-07-30 17:52 ` [144/205] drm/i915: dont queue flips during a flip pending event Greg KH
2010-07-30 17:52 ` [145/205] drm/i915: Hold the spinlock whilst resetting unpin_work along error path Greg KH
2010-07-30 17:52 ` [146/205] drm/i915: handle shared framebuffers when flipping Greg KH
2010-07-30 17:52 ` [147/205] ethtool: Fix potential user buffer overflow for ETHTOOL_{G, S}RXFH Greg KH
2010-07-30 17:52 ` [148/205] KVM: MMU: Remove user access when allowing kernel access to gpte.w=0 page Greg KH
2010-07-30 17:52 ` [149/205] KVM: SVM: Handle MCEs early in the vmexit process Greg KH
2010-07-30 17:52 ` [150/205] KVM: SVM: Implement workaround for Erratum 383 Greg KH
2010-07-30 17:52 ` [151/205] KVM: MMU: invalidate and flush on spte small->large page size change Greg KH
2010-07-30 17:52 ` [152/205] KVM: read apic->irr with ioapic lock held Greg KH
2010-07-30 17:52 ` [153/205] splice: direct_splice_actor() should not use pos in sd Greg KH
2010-07-30 17:52 ` [154/205] splice: check f_mode for seekable file Greg KH
2010-07-30 17:52 ` [155/205] futex: futex_find_get_task remove credentails check Greg KH
2010-07-30 17:52 ` [156/205] PM / x86: Save/restore MISC_ENABLE register Greg KH
2010-07-30 17:52 ` [157/205] PCI/PM: Do not use native PCIe PME by default Greg KH
2010-07-30 17:52 ` [158/205] isdn/capi: make reset_ctr op truly optional Greg KH
2010-07-30 17:52 ` [159/205] isdn/gigaset: remove dummy CAPI method implementations Greg KH
2010-07-30 17:52 ` [160/205] isdn/gigaset: honor CAPI applications buffer size request Greg KH
2010-07-30 17:52 ` [161/205] isdn/gigaset: correct CAPI voice connection encoding Greg KH
2010-07-30 17:52 ` [162/205] isdn/gigaset: correct CAPI DATA_B3 Delivery Confirmation Greg KH
2010-07-30 17:53 ` [163/205] isdn/gigaset: encode HLC and BC together Greg KH
2010-07-30 17:53 ` [164/205] isdn/gigaset: correct CAPI connection state storage Greg KH
2010-07-30 17:53 ` [165/205] ACPI: skip checking BM_STS if the BIOS doesnt ask for it Greg KH
2010-07-30 17:53 ` [166/205] ACPI / PM: Do not enable GPEs for system wakeup in advance Greg KH
2010-07-30 17:53 ` [167/205] ACPI: Unconditionally set SCI_EN on resume Greg KH
2010-07-30 17:53 ` [168/205] libertas/sdio: 8686: set ECSI bit for 1-bit transfers Greg KH
2010-07-30 17:53 ` [169/205] dm9000: fix "BUG: spinlock recursion" Greg KH
2010-07-30 17:53 ` [170/205] mfd: Remove unneeded and dangerous clearing of clientdata Greg KH
2010-07-30 17:53 ` [171/205] firmware_class: fix memory leak - free allocated pages Greg KH
2010-07-30 17:53 ` [172/205] [CPUFREQ] revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)" Greg KH
2010-07-30 17:53 ` [173/205] V4L/DVB: dvb-core: Fix ULE decapsulation bug Greg KH
2010-07-30 17:53 ` [174/205] V4L/DVB: FusionHDTV: Use quick reads for I2C IR device probing Greg KH
2010-07-30 17:53 ` [175/205] V4L/DVB: budget: Select correct frontends Greg KH
2010-07-30 17:53 ` [176/205] 3c503: Fix IRQ probing Greg KH
2010-07-30 17:53 ` [177/205] mac80211: fix supported rates IE if AP doesnt give us its rates Greg KH
2010-07-30 17:53 ` [178/205] bnx2: Fix hang during rmmod bnx2 Greg KH
2010-07-30 17:53 ` [179/205] xfs: prevent swapext from operating on write-only files Greg KH
2010-07-30 17:53 ` [180/205] V4L/DVB: uvcvideo: Add support for unbranded Arkmicro 18ec:3290 webcams Greg KH
2010-07-30 17:53 ` [181/205] V4L/DVB: uvcvideo: Add support for Packard Bell EasyNote MX52 integrated webcam Greg KH
2010-07-30 17:53 ` [182/205] V4L/DVB: uvcvideo: Add support for V4L2_PIX_FMT_Y16 Greg KH
2010-07-30 17:53 ` [183/205] block: Dont count_vm_events for discard bio in submit_bio Greg KH
2010-07-30 17:53 ` [184/205] iwlagn: verify flow id in compressed BA packet Greg KH
2010-07-30 17:53 ` [185/205] iwlwifi: Recover TX flow stall due to stuck queue Greg KH
2010-07-30 17:53 ` [186/205] iwl3945: enable stuck queue detection on 3945 Greg KH
2010-07-30 17:53 ` [187/205] kbuild: Fix modpost segfault Greg KH
2010-07-30 17:53 ` [188/205] ACPI / ACPICA: Use helper function for computing GPE masks Greg KH
2010-07-30 17:53 ` Greg KH [this message]
2010-07-30 17:53 ` [190/205] ACPI / ACPICA: Avoid writing full enable masks to GPE registers Greg KH
2010-07-30 17:53 ` [191/205] ACPI / ACPICA: Fix GPE initialization Greg KH
2010-07-30 17:53 ` [192/205] ACPI / ACPICA: Fix sysfs GPE interface Greg KH
2010-07-30 17:53 ` [193/205] [IA64] Fix spinaphore down_spin() Greg KH
2010-07-30 17:53 ` [194/205] ecryptfs: Bugfix for error related to ecryptfs_hash_buckets Greg KH
2010-07-30 17:53 ` [195/205] pcmcia: do not initialize the present flag too late Greg KH
2010-07-30 17:53 ` [196/205] MIPS: MTX-1: Fix PCI on the MeshCube and related boards Greg KH
2010-07-30 17:53 ` [197/205] HID: usbhid: enable remote wakeup for keyboards Greg KH
2010-07-30 17:53 ` [198/205] ath5k: initialize ah->ah_current_channel Greg KH
2010-07-30 17:53 ` [199/205] Input: RX51 keymap - fix recent compile breakage Greg KH
2010-07-30 17:53 ` [200/205] ocfs2: make xattr extension work with new local alloc reservation Greg KH
2010-07-30 17:53 ` [201/205] ACPI: processor: fix processor_physically_present on UP Greg KH
2010-07-30 17:53 ` [202/205] ALSA: hda - Fix pin-detection of Nvidia HDMI Greg KH
2010-07-30 17:53 ` [203/205] drm/i915: add PANEL_UNLOCK_REGS definition Greg KH
2010-07-30 17:53 ` [204/205] drm/i915: make sure eDP panel is turned on Greg KH
2010-07-30 17:53 ` [205/205] drm/i915: make sure we shut off the panel in eDP configs Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100730175151.053840640@clark.site \
--to=gregkh@suse.de \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rjw@sisk.pl \
--cc=stable-review@kernel.org \
--cc=stable@kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox