]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Mon, 24 Oct 2011 14:28:03 +0000 (16:28 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 24 Oct 2011 14:28:03 +0000 (16:28 +0200)
queue-3.0/hwmon-w83627ehf-fix-negative-8-bit-temperature-values.patch [new file with mode: 0644]
queue-3.0/series
queue-3.0/vfs-fix-automount-for-negative-autofs-dentries.patch [deleted file]
queue-3.0/x86-fix-s4-regression.patch [new file with mode: 0644]

diff --git a/queue-3.0/hwmon-w83627ehf-fix-negative-8-bit-temperature-values.patch b/queue-3.0/hwmon-w83627ehf-fix-negative-8-bit-temperature-values.patch
new file mode 100644 (file)
index 0000000..d38cb8f
--- /dev/null
@@ -0,0 +1,44 @@
+From 133d324d82e144588939ad25b732b5b6c33b03d9 Mon Sep 17 00:00:00 2001
+From: Jean Delvare <khali@linux-fr.org>
+Date: Thu, 20 Oct 2011 03:06:45 -0400
+Subject: hwmon: (w83627ehf) Fix negative 8-bit temperature values
+
+From: Jean Delvare <khali@linux-fr.org>
+
+commit 133d324d82e144588939ad25b732b5b6c33b03d9 upstream.
+
+Since 8-bit temperature values are now handled in 16-bit struct
+members, values have to be cast to s8 for negative temperatures to be
+properly handled. This is broken since kernel version 2.6.39
+(commit bce26c58df86599c9570cee83eac58bdaae760e4.)
+
+Signed-off-by: Jean Delvare <khali@linux-fr.org>
+Cc: Guenter Roeck <guenter.roeck@ericsson.com>
+Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/hwmon/w83627ehf.c |    5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/hwmon/w83627ehf.c
++++ b/drivers/hwmon/w83627ehf.c
+@@ -390,7 +390,7 @@ temp_from_reg(u16 reg, s16 regval)
+ {
+       if (is_word_sized(reg))
+               return LM75_TEMP_FROM_REG(regval);
+-      return regval * 1000;
++      return ((s8)regval) * 1000;
+ }
+ static inline u16
+@@ -398,7 +398,8 @@ temp_to_reg(u16 reg, long temp)
+ {
+       if (is_word_sized(reg))
+               return LM75_TEMP_TO_REG(temp);
+-      return DIV_ROUND_CLOSEST(SENSORS_LIMIT(temp, -127000, 128000), 1000);
++      return (s8)DIV_ROUND_CLOSEST(SENSORS_LIMIT(temp, -127000, 128000),
++                                   1000);
+ }
+ /* Some of analog inputs have internal scaling (2x), 8mV is ADC LSB */
index 8a939dc7d550608c838227ca764116c8d1eb37ba..f59dcfdce9a0dbc84decc8c4deb2a17c5a5026ac 100644 (file)
@@ -19,7 +19,8 @@ xfs-do-not-update-xa_last_pushed_lsn-for-locked-items.patch
 xfs-force-the-log-if-we-encounter-pinned-buffers-in-.iop_pushbuf.patch
 xfs-revert-to-using-a-kthread-for-ail-pushing.patch
 firewire-sbp2-fix-panic-after-rmmod-with-slow-targets.patch
-vfs-fix-automount-for-negative-autofs-dentries.patch
+x86-fix-s4-regression.patch
+hwmon-w83627ehf-fix-negative-8-bit-temperature-values.patch
 mm-fix-race-between-mremap-and-removing-migration-entry.patch
 x25-prevent-skb-overreads-when-checking-call-user-data.patch
 crypto-ghash-avoid-null-pointer-dereference-if-no-key-is-set.patch
diff --git a/queue-3.0/vfs-fix-automount-for-negative-autofs-dentries.patch b/queue-3.0/vfs-fix-automount-for-negative-autofs-dentries.patch
deleted file mode 100644 (file)
index 44bb4fc..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From 5a30d8a2b8ddd5102c440c7e5a7c8e1fd729c818 Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Mon, 11 Jul 2011 14:20:57 +0100
-Subject: VFS: Fix automount for negative autofs dentries
-
-From: David Howells <dhowells@redhat.com>
-
-commit 5a30d8a2b8ddd5102c440c7e5a7c8e1fd729c818 upstream.
-[ backport for 3.0.x: LOOKUP_PARENT => LOOKUP_CONTINUE by Chuck Ebbert
-<cebbert@redhat.com> ]
-
-Autofs may set the DCACHE_NEED_AUTOMOUNT flag on negative dentries.  These
-need attention from the automounter daemon regardless of the LOOKUP_FOLLOW flag.
-
-Signed-off-by: David Howells <dhowells@redhat.com>
-Acked-by: Ian Kent <raven@themaw.net>
-Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-Cc: Chuck Ebbert <cebbert@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- fs/namei.c |   24 +++++++++++++++---------
- 1 file changed, 15 insertions(+), 9 deletions(-)
-
---- a/fs/namei.c
-+++ b/fs/namei.c
-@@ -779,19 +779,25 @@ static int follow_automount(struct path
-       if ((flags & LOOKUP_NO_AUTOMOUNT) && !(flags & LOOKUP_CONTINUE))
-               return -EISDIR; /* we actually want to stop here */
--      /* We want to mount if someone is trying to open/create a file of any
--       * type under the mountpoint, wants to traverse through the mountpoint
--       * or wants to open the mounted directory.
--       *
-+      /*
-        * We don't want to mount if someone's just doing a stat and they've
-        * set AT_SYMLINK_NOFOLLOW - unless they're stat'ing a directory and
-        * appended a '/' to the name.
-        */
--      if (!(flags & LOOKUP_FOLLOW) &&
--          !(flags & (LOOKUP_CONTINUE | LOOKUP_DIRECTORY |
--                     LOOKUP_OPEN | LOOKUP_CREATE)))
--              return -EISDIR;
--
-+      if (!(flags & LOOKUP_FOLLOW)) {
-+              /* We do, however, want to mount if someone wants to open or
-+               * create a file of any type under the mountpoint, wants to
-+               * traverse through the mountpoint or wants to open the mounted
-+               * directory.
-+               * Also, autofs may mark negative dentries as being automount
-+               * points.  These will need the attentions of the daemon to
-+               * instantiate them before they can be used.
-+               */
-+              if (!(flags & (LOOKUP_PARENT | LOOKUP_DIRECTORY |
-+                           LOOKUP_OPEN | LOOKUP_CREATE)) &&
-+                  path->dentry->d_inode)
-+                      return -EISDIR;
-+      }
-       current->total_link_count++;
-       if (current->total_link_count >= 40)
-               return -ELOOP;
diff --git a/queue-3.0/x86-fix-s4-regression.patch b/queue-3.0/x86-fix-s4-regression.patch
new file mode 100644 (file)
index 0000000..9525e29
--- /dev/null
@@ -0,0 +1,41 @@
+From 8548c84da2f47e71bbbe300f55edb768492575f7 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Sun, 23 Oct 2011 23:19:12 +0200
+Subject: x86: Fix S4 regression
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 8548c84da2f47e71bbbe300f55edb768492575f7 upstream.
+
+Commit 4b239f458 ("x86-64, mm: Put early page table high") causes a S4
+regression since 2.6.39, namely the machine reboots occasionally at S4
+resume.  It doesn't happen always, overall rate is about 1/20.  But,
+like other bugs, once when this happens, it continues to happen.
+
+This patch fixes the problem by essentially reverting the memory
+assignment in the older way.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Cc: Rafael J. Wysocki <rjw@sisk.pl>
+Cc: Yinghai Lu <yinghai.lu@oracle.com>
+[ We'll hopefully find the real fix, but that's too late for 3.1 now ]
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/x86/mm/init.c |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/arch/x86/mm/init.c
++++ b/arch/x86/mm/init.c
+@@ -63,9 +63,8 @@ static void __init find_early_table_spac
+ #ifdef CONFIG_X86_32
+       /* for fixmap */
+       tables += roundup(__end_of_fixed_addresses * sizeof(pte_t), PAGE_SIZE);
+-
+-      good_end = max_pfn_mapped << PAGE_SHIFT;
+ #endif
++      good_end = max_pfn_mapped << PAGE_SHIFT;
+       base = memblock_find_in_range(start, good_end, tables, PAGE_SIZE);
+       if (base == MEMBLOCK_ERROR)