rebase runtime pm fixups and drop debug-tty-print-dev-name.patch

This commit is contained in:
Kyle McMartin 2011-01-24 13:04:53 -05:00
parent d8122d51be
commit a56ba88660
3 changed files with 42 additions and 45 deletions

View File

@ -1,17 +0,0 @@
diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
index 878f6d6..8d6867d 100644
--- a/drivers/tty/tty_io.c
+++ b/drivers/tty/tty_io.c
@@ -1329,7 +1330,11 @@ static int tty_reopen(struct tty_struct *tty)
tty->driver = driver; /* N.B. why do this every time?? */
mutex_lock(&tty->ldisc_mutex);
- WARN_ON(!test_bit(TTY_LDISC, &tty->flags));
+ if (!test_bit(TTY_LDISC, &tty->flags)) {
+ printk("%s: !test_bit(TTY_LDISC, &tty->flags) dev=%s ldisc=%s flags=%x\n",
+ __func__, tty->name, tty->ldisc ? tty->ldisc->ops ? tty->ldisc->ops->name : NULL : NULL, tty->flags);
+ WARN_ON(1);
+ }
mutex_unlock(&tty->ldisc_mutex);
return 0;

View File

@ -729,8 +729,6 @@ Patch12205: runtime_pm_fixups.patch
Patch12303: dmar-disable-when-ricoh-multifunction.patch
Patch12401: debug-tty-print-dev-name.patch
Patch12421: fs-call-security_d_instantiate-in-d_obtain_alias.patch
%endif
@ -1334,14 +1332,11 @@ ApplyPatch efi_default_physical.patch
ApplyPatch linux-2.6-ehci-check-port-status.patch
ApplyPatch linux-2.6-usb-pci-autosuspend.patch
#ApplyPatch linux-2.6-enable-more-pci-autosuspend.patch
#ApplyPatch runtime_pm_fixups.patch
ApplyPatch runtime_pm_fixups.patch
# rhbz#605888
ApplyPatch dmar-disable-when-ricoh-multifunction.patch
# rhbz#630464
ApplyPatch debug-tty-print-dev-name.patch
# rhbz#662344,600690
ApplyPatch fs-call-security_d_instantiate-in-d_obtain_alias.patch
@ -1957,6 +1952,10 @@ fi
# ||----w |
# || ||
%changelog
* Mon Jan 24 2011 Kyle McMartin <kmcmartin@redhat.com>
- debug-tty-print-dev-name.patch: drop, haven't seen any warnings recently.
- runtime_pm_fixups.patch: rebase and re-enable.
* Mon Jan 24 2011 Kyle McMartin <kmcmartin@redhat.com> 2.6.38-0.rc2.git1.1
- Linux 2.6.38-rc2-git1
- [e5cce6c1] tpm: fix panic caused by "tpm: Autodetect itpm devices"

View File

@ -1,14 +1,26 @@
Experimental fixes for the interactions between runtime PM and ACPI power
resources. Needs some work with upstream.
From f2002684433f9486c5bafcb5967aade367b06b73 Mon Sep 17 00:00:00 2001
From: Kyle McMartin <kyle@mcmartin.ca>
Date: Mon, 24 Jan 2011 13:01:57 -0500
Subject: [PATCH] runtime_pm_fixups
---
drivers/acpi/bus.c | 3 ++-
drivers/acpi/pci_bind.c | 4 ++++
drivers/acpi/power.c | 5 ++++-
drivers/acpi/sleep.c | 2 +-
drivers/acpi/wakeup.c | 2 +-
drivers/pci/pci-acpi.c | 2 +-
include/acpi/acpi_bus.h | 2 +-
7 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 310e3b9..371debe 100644
index 7ced61f..e4e0114 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -329,7 +329,8 @@ int acpi_bus_set_power(acpi_handle handle, int state)
goto end;
}
}
@@ -256,7 +256,8 @@ static int __acpi_bus_set_power(struct acpi_device *device, int state)
* a lower-powered state.
*/
if (state < device->power.state) {
- if (device->power.flags.power_resources) {
+ if (device->power.flags.power_resources &&
+ !device->wakeup.run_wake_count) {
@ -16,10 +28,10 @@ index 310e3b9..371debe 100644
if (result)
goto end;
diff --git a/drivers/acpi/pci_bind.c b/drivers/acpi/pci_bind.c
index 8b3cc6a..b013174 100644
index 2ef0409..395a184 100644
--- a/drivers/acpi/pci_bind.c
+++ b/drivers/acpi/pci_bind.c
@@ -33,6 +33,8 @@
@@ -32,6 +32,8 @@
#include <acpi/acpi_bus.h>
#include <acpi/acpi_drivers.h>
@ -28,7 +40,7 @@ index 8b3cc6a..b013174 100644
#define _COMPONENT ACPI_PCI_COMPONENT
ACPI_MODULE_NAME("pci_bind");
@@ -173,6 +175,8 @@ static int acpi_pci_bind(struct acpi_device *device)
@@ -87,6 +89,8 @@ static int acpi_pci_bind(struct acpi_device *device)
device->ops.unbind = acpi_pci_unbind;
}
@ -38,10 +50,10 @@ index 8b3cc6a..b013174 100644
* Evaluate and parse _PRT, if exists. This code allows parsing of
* _PRT objects within the scope of non-bridge devices. Note that
diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c
index 844c155..8a42ddf 100644
index 9ac2a9f..cd6a8df 100644
--- a/drivers/acpi/power.c
+++ b/drivers/acpi/power.c
@@ -394,7 +394,7 @@ int acpi_enable_wakeup_device_power(struct acpi_device *dev, int sleep_state)
@@ -412,7 +412,7 @@ int acpi_enable_wakeup_device_power(struct acpi_device *dev, int sleep_state)
* State Wake) for the device, if present
* 2. Shutdown down the power resources
*/
@ -50,7 +62,7 @@ index 844c155..8a42ddf 100644
{
int i, err = 0;
@@ -417,6 +417,9 @@ int acpi_disable_wakeup_device_power(struct acpi_device *dev)
@@ -435,6 +435,9 @@ int acpi_disable_wakeup_device_power(struct acpi_device *dev)
if (err)
goto out;
@ -59,12 +71,12 @@ index 844c155..8a42ddf 100644
+
/* Close power resource */
for (i = 0; i < dev->wakeup.resources.count; i++) {
int ret = acpi_power_off_device(
int ret = acpi_power_off(dev->wakeup.resources.handles[i]);
diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
index 2c5cd02..6bf016b 100644
index d6a8cd1..5d68dc0 100644
--- a/drivers/acpi/sleep.c
+++ b/drivers/acpi/sleep.c
@@ -670,7 +670,7 @@ int acpi_pm_device_sleep_wake(struct device *dev, bool enable)
@@ -697,7 +697,7 @@ int acpi_pm_device_sleep_wake(struct device *dev, bool enable)
error = enable ?
acpi_enable_wakeup_device_power(adev, acpi_target_sleep_state) :
@ -74,20 +86,20 @@ index 2c5cd02..6bf016b 100644
dev_info(dev, "wake-up capability %s by ACPI\n",
enable ? "enabled" : "disabled");
diff --git a/drivers/acpi/wakeup.c b/drivers/acpi/wakeup.c
index f62a50c..ff48a54 100644
index ed65014..a0cabc3 100644
--- a/drivers/acpi/wakeup.c
+++ b/drivers/acpi/wakeup.c
@@ -71,7 +71,7 @@ void acpi_disable_wakeup_devices(u8 sleep_state)
@@ -73,7 +73,7 @@ void acpi_disable_wakeup_devices(u8 sleep_state)
ACPI_GPE_DISABLE);
if (dev->wakeup.state.enabled)
if (device_may_wakeup(&dev->dev))
- acpi_disable_wakeup_device_power(dev);
+ acpi_disable_wakeup_device_power(dev, sleep_state);
}
}
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index 24e19c5..cd99494 100644
index 6fe0772..819fa7a 100644
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -302,7 +302,7 @@ static int acpi_dev_run_wake(struct device *phys_dev, bool enable)
@ -100,10 +112,10 @@ index 24e19c5..cd99494 100644
} else {
error = -EALREADY;
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index 4de84ce..284f43c 100644
index 78ca429..92d6e86 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -387,7 +387,7 @@ struct acpi_pci_root *acpi_pci_find_root(acpi_handle handle);
@@ -379,7 +379,7 @@ struct acpi_pci_root *acpi_pci_find_root(acpi_handle handle);
#define DEVICE_ACPI_HANDLE(dev) ((acpi_handle)((dev)->archdata.acpi_handle))
int acpi_enable_wakeup_device_power(struct acpi_device *dev, int state);
@ -112,3 +124,6 @@ index 4de84ce..284f43c 100644
#ifdef CONFIG_PM_OPS
int acpi_pm_device_sleep_state(struct device *, int *);
--
1.7.3.5