]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Apr 2013 18:39:34 +0000 (11:39 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Apr 2013 18:39:34 +0000 (11:39 -0700)
added patches:
alsa-hda-bug-fix-on-return-value-when-getting-hdmi-eld-info.patch
alsa-hda-fix-typo-in-proc-output.patch
asoc-dma-sh7760-fix-compile-error.patch
reiserfs-fix-warning-and-inode-leak-when-deleting-inode-with-xattrs.patch
ubifs-make-space-fixup-work-in-the-remount-case.patch

queue-3.0/alsa-hda-bug-fix-on-return-value-when-getting-hdmi-eld-info.patch [new file with mode: 0644]
queue-3.0/alsa-hda-fix-typo-in-proc-output.patch [new file with mode: 0644]
queue-3.0/asoc-dma-sh7760-fix-compile-error.patch [new file with mode: 0644]
queue-3.0/reiserfs-fix-warning-and-inode-leak-when-deleting-inode-with-xattrs.patch [new file with mode: 0644]
queue-3.0/series [new file with mode: 0644]
queue-3.0/ubifs-make-space-fixup-work-in-the-remount-case.patch [new file with mode: 0644]

diff --git a/queue-3.0/alsa-hda-bug-fix-on-return-value-when-getting-hdmi-eld-info.patch b/queue-3.0/alsa-hda-bug-fix-on-return-value-when-getting-hdmi-eld-info.patch
new file mode 100644 (file)
index 0000000..da3aa86
--- /dev/null
@@ -0,0 +1,34 @@
+From 2ef5692efad330b67a234e2c49edad38538751e7 Mon Sep 17 00:00:00 2001
+From: Mengdong Lin <mengdong.lin@intel.com>
+Date: Thu, 28 Mar 2013 05:20:22 -0400
+Subject: ALSA: hda - bug fix on return value when getting HDMI ELD info
+
+From: Mengdong Lin <mengdong.lin@intel.com>
+
+commit 2ef5692efad330b67a234e2c49edad38538751e7 upstream.
+
+In function snd_hdmi_get_eld(), the variable 'ret' should be initialized to 0.
+Otherwise it will be returned uninitialized as non-zero after ELD info is got
+successfully. Thus hdmi_present_sense() will always assume ELD info is invalid
+by mistake, and /proc file system cannot show the proper ELD info.
+
+Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
+Acked-by: David Henningsson <david.henningsson@canonical.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/hda_eld.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/pci/hda/hda_eld.c
++++ b/sound/pci/hda/hda_eld.c
+@@ -322,7 +322,7 @@ int snd_hdmi_get_eld(struct hdmi_eld *el
+                    struct hda_codec *codec, hda_nid_t nid)
+ {
+       int i;
+-      int ret;
++      int ret = 0;
+       int size;
+       unsigned char *buf;
diff --git a/queue-3.0/alsa-hda-fix-typo-in-proc-output.patch b/queue-3.0/alsa-hda-fix-typo-in-proc-output.patch
new file mode 100644 (file)
index 0000000..4ed8713
--- /dev/null
@@ -0,0 +1,31 @@
+From aeb3a97222832e5457c4b72d72235098ce4bfe8d Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Thu, 4 Apr 2013 11:47:13 +0200
+Subject: ALSA: hda - fix typo in proc output
+
+From: David Henningsson <david.henningsson@canonical.com>
+
+commit aeb3a97222832e5457c4b72d72235098ce4bfe8d upstream.
+
+Rename "Digitial In" to "Digital In". This function is only used for
+proc output, so should not cause any problems to change.
+
+Signed-off-by: David Henningsson <david.henningsson@canonical.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/hda_codec.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/pci/hda/hda_codec.c
++++ b/sound/pci/hda/hda_codec.c
+@@ -157,7 +157,7 @@ const char *snd_hda_get_jack_type(u32 cf
+               "Line Out", "Speaker", "HP Out", "CD",
+               "SPDIF Out", "Digital Out", "Modem Line", "Modem Hand",
+               "Line In", "Aux", "Mic", "Telephony",
+-              "SPDIF In", "Digitial In", "Reserved", "Other"
++              "SPDIF In", "Digital In", "Reserved", "Other"
+       };
+       return jack_types[(cfg & AC_DEFCFG_DEVICE)
diff --git a/queue-3.0/asoc-dma-sh7760-fix-compile-error.patch b/queue-3.0/asoc-dma-sh7760-fix-compile-error.patch
new file mode 100644 (file)
index 0000000..b3ac9d4
--- /dev/null
@@ -0,0 +1,45 @@
+From 417a1178f1bf3cdc606376b3ded3a22489fbb3eb Mon Sep 17 00:00:00 2001
+From: Lars-Peter Clausen <lars@metafoo.de>
+Date: Fri, 15 Mar 2013 11:26:15 +0100
+Subject: ASoC: dma-sh7760: Fix compile error
+
+From: Lars-Peter Clausen <lars@metafoo.de>
+
+commit 417a1178f1bf3cdc606376b3ded3a22489fbb3eb upstream.
+
+The dma-sh7760 currently fails with the following compile error:
+       sound/soc/sh/dma-sh7760.c:346:2: error: unknown field 'pcm_ops' specified in initializer
+       sound/soc/sh/dma-sh7760.c:346:2: warning: initialization from incompatible pointer type
+       sound/soc/sh/dma-sh7760.c:347:2: error: unknown field 'pcm_new' specified in initializer
+       sound/soc/sh/dma-sh7760.c:347:2: warning: initialization makes integer from pointer without a cast
+       sound/soc/sh/dma-sh7760.c:348:2: error: unknown field 'pcm_free' specified in initializer
+       sound/soc/sh/dma-sh7760.c:348:2: warning: initialization from incompatible pointer type
+       sound/soc/sh/dma-sh7760.c: In function 'sh7760_soc_platform_probe':
+       sound/soc/sh/dma-sh7760.c:353:2: warning: passing argument 2 of 'snd_soc_register_platform' from incompatible pointer type
+       include/sound/soc.h:368:5: note: expected 'struct snd_soc_platform_driver *' but argument is of type 'struct snd_soc_platform *'
+
+This is due the misnaming of the snd_soc_platform_driver type name and 'ops'
+field. The issue was introduced in commit f0fba2a("ASoC: multi-component - ASoC
+Multi-Component Support").
+
+Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/sh/dma-sh7760.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/sh/dma-sh7760.c
++++ b/sound/soc/sh/dma-sh7760.c
+@@ -342,8 +342,8 @@ static int camelot_pcm_new(struct snd_ca
+       return 0;
+ }
+-static struct snd_soc_platform sh7760_soc_platform = {
+-      .pcm_ops        = &camelot_pcm_ops,
++static struct snd_soc_platform_driver sh7760_soc_platform = {
++      .ops            = &camelot_pcm_ops,
+       .pcm_new        = camelot_pcm_new,
+       .pcm_free       = camelot_pcm_free,
+ };
diff --git a/queue-3.0/reiserfs-fix-warning-and-inode-leak-when-deleting-inode-with-xattrs.patch b/queue-3.0/reiserfs-fix-warning-and-inode-leak-when-deleting-inode-with-xattrs.patch
new file mode 100644 (file)
index 0000000..ebaaaa7
--- /dev/null
@@ -0,0 +1,39 @@
+From 35e5cbc0af240778e61113286c019837e06aeec6 Mon Sep 17 00:00:00 2001
+From: Jan Kara <jack@suse.cz>
+Date: Fri, 29 Mar 2013 15:39:16 +0100
+Subject: reiserfs: Fix warning and inode leak when deleting inode with xattrs
+
+From: Jan Kara <jack@suse.cz>
+
+commit 35e5cbc0af240778e61113286c019837e06aeec6 upstream.
+
+After commit 21d8a15a (lookup_one_len: don't accept . and ..) reiserfs
+started failing to delete xattrs from inode. This was due to a buggy
+test for '.' and '..' in fill_with_dentries() which resulted in passing
+'.' and '..' entries to lookup_one_len() in some cases. That returned
+error and so we failed to iterate over all xattrs of and inode.
+
+Fix the test in fill_with_dentries() along the lines of the one in
+lookup_one_len().
+
+Reported-by: Pawel Zawora <pzawora@gmail.com>
+Signed-off-by: Jan Kara <jack@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/reiserfs/xattr.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/fs/reiserfs/xattr.c
++++ b/fs/reiserfs/xattr.c
+@@ -187,8 +187,8 @@ fill_with_dentries(void *buf, const char
+       if (dbuf->count == ARRAY_SIZE(dbuf->dentries))
+               return -ENOSPC;
+-      if (name[0] == '.' && (name[1] == '\0' ||
+-                             (name[1] == '.' && name[2] == '\0')))
++      if (name[0] == '.' && (namelen < 2 ||
++                             (namelen == 2 && name[1] == '.')))
+               return 0;
+       dentry = lookup_one_len(name, dbuf->xadir, namelen);
diff --git a/queue-3.0/series b/queue-3.0/series
new file mode 100644 (file)
index 0000000..fc929c6
--- /dev/null
@@ -0,0 +1,5 @@
+asoc-dma-sh7760-fix-compile-error.patch
+ubifs-make-space-fixup-work-in-the-remount-case.patch
+reiserfs-fix-warning-and-inode-leak-when-deleting-inode-with-xattrs.patch
+alsa-hda-bug-fix-on-return-value-when-getting-hdmi-eld-info.patch
+alsa-hda-fix-typo-in-proc-output.patch
diff --git a/queue-3.0/ubifs-make-space-fixup-work-in-the-remount-case.patch b/queue-3.0/ubifs-make-space-fixup-work-in-the-remount-case.patch
new file mode 100644 (file)
index 0000000..9e450e0
--- /dev/null
@@ -0,0 +1,66 @@
+From 67e753ca41782913d805ff4a8a2b0f60b26b7915 Mon Sep 17 00:00:00 2001
+From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+Date: Thu, 14 Mar 2013 10:49:23 +0200
+Subject: UBIFS: make space fixup work in the remount case
+
+From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+
+commit 67e753ca41782913d805ff4a8a2b0f60b26b7915 upstream.
+
+The UBIFS space fixup is a useful feature which allows to fixup the "broken"
+flash space at the time of the first mount. The "broken" space is usually the
+result of using a "dumb" industrial flasher which is not able to skip empty
+NAND pages and just writes all 0xFFs to the empty space, which has grave
+side-effects for UBIFS when UBIFS trise to write useful data to those empty
+pages.
+
+The fix-up feature works roughly like this:
+1. mkfs.ubifs sets the fixup flag in UBIFS superblock when creating the image
+   (see -F option)
+2. when the file-system is mounted for the first time, UBIFS notices the fixup
+   flag and re-writes the entire media atomically, which may take really a lot
+   of time.
+3. UBIFS clears the fixup flag in the superblock.
+
+This works fine when the file system is mounted R/W for the very first time.
+But it did not really work in the case when we first mount the file-system R/O,
+and then re-mount R/W. The reason was that we started the fixup procedure too
+late, which we cannot really do because we have to fixup the space before it
+starts being used.
+
+Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+Reported-by: Mark Jackson <mpfj-list@mimc.co.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/ubifs/super.c |   12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+--- a/fs/ubifs/super.c
++++ b/fs/ubifs/super.c
+@@ -1583,6 +1583,12 @@ static int ubifs_remount_rw(struct ubifs
+       c->remounting_rw = 1;
+       c->ro_mount = 0;
++      if (c->space_fixup) {
++              err = ubifs_fixup_free_space(c);
++              if (err)
++                      return err;
++      }
++
+       err = check_free_space(c);
+       if (err)
+               goto out;
+@@ -1699,12 +1705,6 @@ static int ubifs_remount_rw(struct ubifs
+               err = dbg_check_space_info(c);
+       }
+-      if (c->space_fixup) {
+-              err = ubifs_fixup_free_space(c);
+-              if (err)
+-                      goto out;
+-      }
+-
+       mutex_unlock(&c->umount_mutex);
+       return err;