linux3.10: update to 3.10.2.
This commit is contained in:
parent
0e376e476e
commit
018dfe6ffa
2 changed files with 3 additions and 77 deletions
|
@ -1,74 +0,0 @@
|
||||||
commit a66b2e (cpufreq: Preserve sysfs files across suspend/resume) has
|
|
||||||
unfortunately caused several things in the cpufreq subsystem to break subtly
|
|
||||||
after a suspend/resume cycle.
|
|
||||||
|
|
||||||
The intention of that patch was to retain the file permissions of the
|
|
||||||
cpufreq related sysfs files across suspend/resume. To achieve that, the commit
|
|
||||||
completely removed the calls to cpufreq_add_dev() and __cpufreq_remove_dev()
|
|
||||||
during suspend/resume transitions. But the problem is that those functions
|
|
||||||
do 2 kinds of things:
|
|
||||||
1. Low-level initialization/tear-down that are critical to the correct
|
|
||||||
functioning of cpufreq-core.
|
|
||||||
2. Kobject and sysfs related initialization/teardown.
|
|
||||||
|
|
||||||
Ideally we should have reorganized the code to cleanly separate these two
|
|
||||||
responsibilities, and skipped only the sysfs related parts during
|
|
||||||
suspend/resume. Since we skipped the entire callbacks instead (which also
|
|
||||||
included some CPU and cpufreq-specific critical components), cpufreq
|
|
||||||
subsystem started behaving erratically after suspend/resume.
|
|
||||||
|
|
||||||
So revert the commit to fix the regression. We'll revisit and address the
|
|
||||||
original goal of that commit separately, since it involves quite a bit of
|
|
||||||
careful code reorganization and appears to be non-trivial.
|
|
||||||
|
|
||||||
(While reverting the commit, note that another commit f51e1eb "cpufreq:
|
|
||||||
Fix cpufreq regression after suspend/resume" already reverted part of the
|
|
||||||
original set of changes. So revert only the remaining ones).
|
|
||||||
|
|
||||||
Cc: stable@vger.kernel.org
|
|
||||||
Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
|
|
||||||
---
|
|
||||||
drivers/cpufreq/cpufreq.c | 4 +++-
|
|
||||||
drivers/cpufreq/cpufreq_stats.c | 6 ++----
|
|
||||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
|
||||||
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
|
|
||||||
index 6a015ad..ccc6eab 100644
|
|
||||||
--- drivers/cpufreq/cpufreq.c
|
|
||||||
+++ drivers/cpufreq/cpufreq.c
|
|
||||||
@@ -1941,13 +1941,15 @@ static int __cpuinit cpufreq_cpu_callback(struct notifier_block *nfb,
|
|
||||||
if (dev) {
|
|
||||||
switch (action) {
|
|
||||||
case CPU_ONLINE:
|
|
||||||
+ case CPU_ONLINE_FROZEN:
|
|
||||||
cpufreq_add_dev(dev, NULL);
|
|
||||||
break;
|
|
||||||
case CPU_DOWN_PREPARE:
|
|
||||||
- case CPU_UP_CANCELED_FROZEN:
|
|
||||||
+ case CPU_DOWN_PREPARE_FROZEN:
|
|
||||||
__cpufreq_remove_dev(dev, NULL);
|
|
||||||
break;
|
|
||||||
case CPU_DOWN_FAILED:
|
|
||||||
+ case CPU_DOWN_FAILED_FROZEN:
|
|
||||||
cpufreq_add_dev(dev, NULL);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
diff --git a/drivers/cpufreq/cpufreq_stats.c b/drivers/cpufreq/cpufreq_stats.c
|
|
||||||
index cd9e817..12225d1 100644
|
|
||||||
--- drivers/cpufreq/cpufreq_stats.c
|
|
||||||
+++ drivers/cpufreq/cpufreq_stats.c
|
|
||||||
@@ -353,13 +353,11 @@ static int __cpuinit cpufreq_stat_cpu_callback(struct notifier_block *nfb,
|
|
||||||
cpufreq_update_policy(cpu);
|
|
||||||
break;
|
|
||||||
case CPU_DOWN_PREPARE:
|
|
||||||
+ case CPU_DOWN_PREPARE_FROZEN:
|
|
||||||
cpufreq_stats_free_sysfs(cpu);
|
|
||||||
break;
|
|
||||||
case CPU_DEAD:
|
|
||||||
- cpufreq_stats_free_table(cpu);
|
|
||||||
- break;
|
|
||||||
- case CPU_UP_CANCELED_FROZEN:
|
|
||||||
- cpufreq_stats_free_sysfs(cpu);
|
|
||||||
+ case CPU_DEAD_FROZEN:
|
|
||||||
cpufreq_stats_free_table(cpu);
|
|
||||||
break;
|
|
||||||
}
|
|
|
@ -1,15 +1,15 @@
|
||||||
# Template file for 'linux3.10'
|
# Template file for 'linux3.10'
|
||||||
#
|
#
|
||||||
pkgname=linux3.10
|
pkgname=linux3.10
|
||||||
version=3.10.1
|
version=3.10.2
|
||||||
revision=2
|
revision=1
|
||||||
wrksrc="linux-${version}"
|
wrksrc="linux-${version}"
|
||||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||||
homepage="http://www.kernel.org"
|
homepage="http://www.kernel.org"
|
||||||
license="GPL-2"
|
license="GPL-2"
|
||||||
short_desc="The Linux kernel and modules (3.10 series)"
|
short_desc="The Linux kernel and modules (3.10 series)"
|
||||||
distfiles="http://www.kernel.org/pub/linux//kernel/v3.x/linux-${version}.tar.xz"
|
distfiles="http://www.kernel.org/pub/linux//kernel/v3.x/linux-${version}.tar.xz"
|
||||||
checksum=dab8647094a985f984928dff6dd3c127c40747412f8543daba018df8bd5319bf
|
checksum=c647b2934614f53680477ad297876196725d9c66a6d7804c2d151f633d68b638
|
||||||
|
|
||||||
only_for_archs="i686 x86_64"
|
only_for_archs="i686 x86_64"
|
||||||
makedepends="bc perl kmod>=11_2 openssl which elfutils"
|
makedepends="bc perl kmod>=11_2 openssl which elfutils"
|
||||||
|
|
Loading…
Reference in a new issue