From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: Justin Forbes <jmforbes@linuxtx.org>,
Zwane Mwaikambo <zwane@arm.linux.org.uk>,
"Theodore Ts'o" <tytso@mit.edu>,
Randy Dunlap <rdunlap@xenotime.net>,
Dave Jones <davej@redhat.com>,
Chuck Wolber <chuckw@quantumlinux.com>,
Chris Wedgwood <reviews@ml.cw.f00f.org>,
Michael Krufky <mkrufky@linuxtv.org>,
Chuck Ebbert <cebbert@redhat.com>,
Domenico Andreoli <cavokz@gmail.com>, Willy Tarreau <w@1wt.eu>,
Rodrigo Rubira Branco <rbranco@la.checkpoint.com>,
Jake Edge <jake@lwn.net>, Eugene Teo <eteo@redhat.com>,
torvalds@linux-foundation.org, akpm@linux-foundation.org,
alan@lxorguk.ukuu.org.uk, "Rafael J. Wysocki" <rjw@sisk.pl>,
Jesse Barnes <jbarnes@virtuousgeek.org>
Subject: [patch 83/85] PCI: Suspend and resume PCI Express ports with interrupts disabled
Date: Thu, 15 Jan 2009 14:02:08 -0800 [thread overview]
Message-ID: <20090115220208.GF17227@kroah.com> (raw)
In-Reply-To: <20090115215812.GA17227@kroah.com>
[-- Attachment #1: pci-suspend-and-resume-pci-express-ports-with-interrupts-disabled.patch --]
[-- Type: text/plain, Size: 2088 bytes --]
2.6.27-stable review patch. If anyone has any objections, please let us know.
------------------
From: Rafael J. Wysocki <rjw@sisk.pl>
commit 90d25f246ddefbb743764f8d45ae97e545a6ee86 upstream
I don't see why the suspend and resume of PCI Express ports should be
handled with interrupts enabled and it may even lead to problems in
some situations. For this reason, move the suspending and resuming
of PCI Express ports into ->suspend_late() and ->resume_early()
callbacks executed with interrupts disabled.
This patch addresses the regression from 2.6.26 tracked as
http://bugzilla.kernel.org/show_bug.cgi?id=12121 .
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/pci/pcie/portdrv_pci.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
--- a/drivers/pci/pcie/portdrv_pci.c
+++ b/drivers/pci/pcie/portdrv_pci.c
@@ -50,7 +50,7 @@ static int pcie_portdrv_restore_config(s
}
#ifdef CONFIG_PM
-static int pcie_portdrv_suspend(struct pci_dev *dev, pm_message_t state)
+static int pcie_portdrv_suspend_late(struct pci_dev *dev, pm_message_t state)
{
int ret = pcie_port_device_suspend(dev, state);
@@ -59,14 +59,14 @@ static int pcie_portdrv_suspend(struct p
return ret;
}
-static int pcie_portdrv_resume(struct pci_dev *dev)
+static int pcie_portdrv_resume_early(struct pci_dev *dev)
{
pcie_portdrv_restore_config(dev);
return pcie_port_device_resume(dev);
}
#else
-#define pcie_portdrv_suspend NULL
-#define pcie_portdrv_resume NULL
+#define pcie_portdrv_suspend_late NULL
+#define pcie_portdrv_resume_early NULL
#endif
/*
@@ -282,8 +282,8 @@ static struct pci_driver pcie_portdriver
.probe = pcie_portdrv_probe,
.remove = pcie_portdrv_remove,
- .suspend = pcie_portdrv_suspend,
- .resume = pcie_portdrv_resume,
+ .suspend_late = pcie_portdrv_suspend_late,
+ .resume_early = pcie_portdrv_resume_early,
.err_handler = &pcie_portdrv_err_handler,
};
next prev parent reply other threads:[~2009-01-15 22:50 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20090115215237.906089480@mini.kroah.org>
2009-01-15 21:58 ` [patch 00/85] 2.6.27.12-stable review Greg KH
2009-01-15 21:58 ` [patch 01/85] ALSA: caiaq - Fix Oops with MIDI Greg KH
2009-01-15 21:58 ` [patch 02/85] ALSA: hda - Add quirk for HP6730B laptop Greg KH
2009-01-15 21:58 ` [patch 03/85] cgroups: fix a race between cgroup_clone and umount Greg KH
2009-01-15 21:58 ` [patch 04/85] devices cgroup: allow mkfifo Greg KH
2009-01-15 21:59 ` [patch 05/85] dm log: fix dm_io_client leak on error paths Greg KH
2009-01-15 21:59 ` [patch 06/85] dm raid1: fix error count Greg KH
2009-01-15 21:59 ` [patch 07/85] ioat: fix self test for multi-channel case Greg KH
2009-01-15 21:59 ` [patch 08/85] iwlwifi: use GFP_KERNEL to allocate Rx SKB memory Greg KH
2009-01-15 21:59 ` [patch 09/85] md: fix bitmap-on-external-file bug Greg KH
2009-01-15 21:59 ` [patch 10/85] minix: fix add links wrong position calculation Greg KH
2009-01-15 21:59 ` [patch 11/85] sched_clock: prevent scd->clock from moving backwards, take #2 Greg KH
2009-01-15 21:59 ` [patch 12/85] SCSI: aha152x_cs: Fix regression that keeps driver from using shared interrupts Greg KH
2009-01-15 21:59 ` [patch 13/85] SCSI: eata: fix the data buffer accessors conversion regression Greg KH
2009-01-15 21:59 ` [patch 14/85] USB: emi26: fix oops on load Greg KH
2009-01-15 21:59 ` [patch 15/85] USB: isp1760: use a specific PLX bridge instead of any bdridge Greg KH
2009-01-15 21:59 ` [patch 16/85] USB: unusual_devs.h additions for Pentax K10D Greg KH
2009-01-15 21:59 ` [patch 17/85] x86: default to SWIOTLB=y on x86_64 Greg KH
2009-01-15 21:59 ` [patch 18/85] x86: fix incorrect __read_mostly on _boot_cpu_pda Greg KH
2009-01-15 21:59 ` [patch 19/85] x86, UV: remove erroneous BAU initialization Greg KH
2009-01-15 21:59 ` [patch 20/85] inotify: fix type errors in interfaces Greg KH
2009-01-15 21:59 ` [patch 21/85] [PATCH 01/44] [CVE-2009-0029] Move compat system call declarations to compat header file Greg KH
2009-01-15 21:59 ` [patch 22/85] [PATCH 02/44] [CVE-2009-0029] Convert all system calls to return a long Greg KH
2009-01-18 22:17 ` Christoph Hellwig
2009-01-18 23:50 ` Greg KH
2009-01-19 10:09 ` Heiko Carstens
2009-01-15 21:59 ` [patch 23/85] [PATCH 03/44] [CVE-2009-0029] Rename old_readdir to sys_old_readdir Greg KH
2009-01-15 21:59 ` [patch 24/85] [PATCH 04/44] [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 Greg KH
2009-01-15 21:59 ` [patch 25/85] [PATCH 05/44] [CVE-2009-0029] Make sys_pselect7 static Greg KH
2009-01-15 21:59 ` [patch 26/85] [PATCH 06/44] [CVE-2009-0029] Make sys_syslog a conditional system call Greg KH
2009-01-15 21:59 ` [patch 27/85] [PATCH 07/44] [CVE-2009-0029] System call wrapper infrastructure Greg KH
2009-01-15 22:46 ` Jiri Slaby
2009-01-15 23:42 ` [stable] " Greg KH
2009-01-16 8:37 ` Heiko Carstens
2009-01-16 8:44 ` Jiri Slaby
2009-01-16 8:44 ` Christian Borntraeger
2009-01-16 9:57 ` Heiko Carstens
2009-01-16 10:09 ` Christian Borntraeger
2009-01-15 21:59 ` [patch 28/85] [PATCH 08/44] [CVE-2009-0029] powerpc: Enable syscall wrappers for 64-bit Greg KH
2009-01-15 21:59 ` [patch 29/85] [PATCH 09/44] [CVE-2009-0029] s390: enable system call wrappers Greg KH
2009-01-15 21:59 ` [patch 30/85] [PATCH 10/44] [CVE-2009-0029] System call wrapper special cases Greg KH
2009-01-15 21:59 ` [patch 31/85] [PATCH 11/44] [CVE-2009-0029] System call wrappers part 01 Greg KH
2009-01-15 21:59 ` [patch 32/85] [PATCH 12/44] [CVE-2009-0029] System call wrappers part 02 Greg KH
2009-01-15 22:00 ` [patch 33/85] [PATCH 13/44] [CVE-2009-0029] System call wrappers part 03 Greg KH
2009-01-15 22:00 ` [patch 34/85] [PATCH 14/44] [CVE-2009-0029] System call wrappers part 04 Greg KH
2009-01-15 22:00 ` [patch 35/85] [PATCH 15/44] [CVE-2009-0029] System call wrappers part 05 Greg KH
2009-01-15 22:00 ` [patch 36/85] [PATCH 16/44] [CVE-2009-0029] System call wrappers part 06 Greg KH
2009-01-15 22:00 ` [patch 37/85] [PATCH 17/44] [CVE-2009-0029] System call wrappers part 07 Greg KH
2009-01-15 22:00 ` [patch 38/85] [PATCH 18/44] [CVE-2009-0029] System call wrappers part 08 Greg KH
2009-01-15 22:00 ` [patch 39/85] [PATCH 19/44] [CVE-2009-0029] System call wrappers part 09 Greg KH
2009-01-15 22:00 ` [patch 40/85] [PATCH 20/44] [CVE-2009-0029] System call wrappers part 10 Greg KH
2009-01-15 22:00 ` [patch 41/85] [PATCH 21/44] [CVE-2009-0029] System call wrappers part 11 Greg KH
2009-01-15 22:00 ` [patch 42/85] [PATCH 22/44] [CVE-2009-0029] System call wrappers part 12 Greg KH
2009-01-15 22:00 ` [patch 43/85] [PATCH 23/44] [CVE-2009-0029] System call wrappers part 13 Greg KH
2009-01-15 22:00 ` [patch 44/85] [PATCH 24/44] [CVE-2009-0029] System call wrappers part 14 Greg KH
2009-01-15 22:00 ` [patch 45/85] [PATCH 25/44] [CVE-2009-0029] System call wrappers part 15 Greg KH
2009-01-15 22:00 ` [patch 46/85] [PATCH 26/44] [CVE-2009-0029] System call wrappers part 16 Greg KH
2009-01-15 22:00 ` [patch 47/85] [PATCH 27/44] [CVE-2009-0029] System call wrappers part 17 Greg KH
2009-01-15 22:00 ` [patch 48/85] [PATCH 28/44] [CVE-2009-0029] System call wrappers part 18 Greg KH
2009-01-15 22:00 ` [patch 49/85] [PATCH 29/44] [CVE-2009-0029] System call wrappers part 19 Greg KH
2009-01-15 22:00 ` [patch 50/85] [PATCH 30/44] [CVE-2009-0029] System call wrappers part 20 Greg KH
2009-01-15 22:00 ` [patch 51/85] [PATCH 31/44] [CVE-2009-0029] System call wrappers part 21 Greg KH
2009-01-15 22:00 ` [patch 52/85] [PATCH 32/44] [CVE-2009-0029] System call wrappers part 22 Greg KH
2009-01-15 22:00 ` [patch 53/85] [PATCH 33/44] [CVE-2009-0029] System call wrappers part 23 Greg KH
2009-01-15 22:00 ` [patch 54/85] [PATCH 34/44] [CVE-2009-0029] System call wrappers part 24 Greg KH
2009-01-15 22:01 ` [patch 55/85] [PATCH 35/44] [CVE-2009-0029] System call wrappers part 25 Greg KH
2009-01-15 22:01 ` [patch 56/85] [PATCH 36/44] [CVE-2009-0029] System call wrappers part 26 Greg KH
2009-01-15 22:01 ` [patch 57/85] [PATCH 37/44] [CVE-2009-0029] System call wrappers part 27 Greg KH
2009-01-15 22:01 ` [patch 58/85] [PATCH 38/44] [CVE-2009-0029] System call wrappers part 28 Greg KH
2009-01-15 22:01 ` [patch 59/85] [PATCH 39/44] [CVE-2009-0029] System call wrappers part 29 Greg KH
2009-01-15 22:01 ` [patch 60/85] [PATCH 40/44] [CVE-2009-0029] System call wrappers part 30 Greg KH
2009-01-15 22:01 ` [patch 61/85] [PATCH 41/44] [CVE-2009-0029] System call wrappers part 31 Greg KH
2009-01-15 22:01 ` [patch 62/85] [PATCH 42/44] [CVE-2009-0029] System call wrappers part 32 Greg KH
2009-01-15 22:01 ` [patch 63/85] [PATCH 43/44] [CVE-2009-0029] System call wrappers Greg KH
2009-01-15 22:01 ` [patch 64/85] [PATCH 44/44] [CVE-2009-0029] s390 specific system " Greg KH
2009-01-15 22:01 ` [patch 65/85] e1000e: fix IPMI traffic Greg KH
2009-01-15 22:01 ` [patch 66/85] eCryptfs: check readlink result was not an error before using it Greg KH
2009-01-15 22:01 ` [patch 67/85] fix switch_names() breakage in short-to-short case Greg KH
2009-01-15 22:01 ` [patch 68/85] fs: symlink write_begin allocation context fix Greg KH
2009-01-15 22:31 ` Greg KH
2009-01-16 2:53 ` Nick Piggin
2009-01-16 22:48 ` Greg KH
2009-01-15 22:01 ` [patch 69/85] [SCSI] ibmvfc: Delay NPIV login retry and add retries Greg KH
2009-01-15 22:01 ` [patch 70/85] [SCSI] ibmvfc: Improve async event handling Greg KH
2009-01-15 22:01 ` [patch 71/85] mm: fix assertion Greg KH
2009-01-15 22:01 ` [patch 72/85] mm lockless pagecache barrier fix Greg KH
2009-01-15 22:01 ` [patch 73/85] [SCSI] mvsas: increase port type detection delay to suit Seagates 10k6 drive ST3450856SS 0003 Greg KH
2009-01-15 22:01 ` [patch 74/85] nfs: remove redundant tests on reading new pages Greg KH
2009-01-15 22:01 ` [patch 75/85] powerpc: Disable Collaborative Memory Manager for kdump Greg KH
2009-01-15 22:01 ` [patch 76/85] USB: another unusual_devs entry for another bad Argosy storage device Greg KH
2009-01-15 22:01 ` [patch 77/85] USB: storage: extend unusual range for 067b:3507 Greg KH
2009-01-15 22:01 ` [patch 78/85] USB: storage: recognizing and enabling Nokia 5200 cell phoes Greg KH
2009-01-15 22:01 ` [patch 79/85] x86: avoid theoretical vmalloc fault loop Greg KH
2009-01-15 22:02 ` [patch 80/85] x86, cpa: dont use large pages for kernel identity mapping with DEBUG_PAGEALLOC Greg KH
2009-01-15 22:02 ` [patch 81/85] x86: fix RIP printout in early_idt_handler Greg KH
2009-01-16 3:27 ` Jike Song
2009-01-16 4:13 ` Greg KH
2009-01-16 8:47 ` Jiri Slaby
2009-01-15 22:02 ` [patch 82/85] PCI: Rework default handling of suspend and resume Greg KH
2009-01-15 22:02 ` Greg KH [this message]
2009-01-15 22:02 ` [patch 84/85] PCI: handle PCI state saving with interrupts disabled Greg KH
2009-01-15 22:02 ` [patch 85/85] PCI PM: Split PCI Express port suspend-resume Greg KH
2009-01-15 22:54 ` [patch 00/85] 2.6.27.12-stable review Grant Coady
2009-01-15 23:05 ` Greg KH
2009-01-16 23:20 ` 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=20090115220208.GF17227@kroah.com \
--to=gregkh@suse.de \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=cavokz@gmail.com \
--cc=cebbert@redhat.com \
--cc=chuckw@quantumlinux.com \
--cc=davej@redhat.com \
--cc=eteo@redhat.com \
--cc=jake@lwn.net \
--cc=jbarnes@virtuousgeek.org \
--cc=jmforbes@linuxtx.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mkrufky@linuxtv.org \
--cc=rbranco@la.checkpoint.com \
--cc=rdunlap@xenotime.net \
--cc=reviews@ml.cw.f00f.org \
--cc=rjw@sisk.pl \
--cc=stable@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
--cc=w@1wt.eu \
--cc=zwane@arm.linux.org.uk \
/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