--- /dev/null
+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 */
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
+++ /dev/null
-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;
--- /dev/null
+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)