From c0a534de2d4d166051008eb8f5d660c0aa6df676 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 5 Apr 2013 11:39:34 -0700 Subject: [PATCH] 3.0-stable patches 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 --- ...urn-value-when-getting-hdmi-eld-info.patch | 34 ++++++++++ .../alsa-hda-fix-typo-in-proc-output.patch | 31 +++++++++ .../asoc-dma-sh7760-fix-compile-error.patch | 45 +++++++++++++ ...leak-when-deleting-inode-with-xattrs.patch | 39 +++++++++++ queue-3.0/series | 5 ++ ...space-fixup-work-in-the-remount-case.patch | 66 +++++++++++++++++++ 6 files changed, 220 insertions(+) create mode 100644 queue-3.0/alsa-hda-bug-fix-on-return-value-when-getting-hdmi-eld-info.patch create mode 100644 queue-3.0/alsa-hda-fix-typo-in-proc-output.patch create mode 100644 queue-3.0/asoc-dma-sh7760-fix-compile-error.patch create mode 100644 queue-3.0/reiserfs-fix-warning-and-inode-leak-when-deleting-inode-with-xattrs.patch create mode 100644 queue-3.0/series create mode 100644 queue-3.0/ubifs-make-space-fixup-work-in-the-remount-case.patch 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 index 00000000000..da3aa86a6b8 --- /dev/null +++ b/queue-3.0/alsa-hda-bug-fix-on-return-value-when-getting-hdmi-eld-info.patch @@ -0,0 +1,34 @@ +From 2ef5692efad330b67a234e2c49edad38538751e7 Mon Sep 17 00:00:00 2001 +From: Mengdong Lin +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 + +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 +Acked-by: David Henningsson +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..4ed8713ed6d --- /dev/null +++ b/queue-3.0/alsa-hda-fix-typo-in-proc-output.patch @@ -0,0 +1,31 @@ +From aeb3a97222832e5457c4b72d72235098ce4bfe8d Mon Sep 17 00:00:00 2001 +From: David Henningsson +Date: Thu, 4 Apr 2013 11:47:13 +0200 +Subject: ALSA: hda - fix typo in proc output + +From: David Henningsson + +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 +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..b3ac9d4c11d --- /dev/null +++ b/queue-3.0/asoc-dma-sh7760-fix-compile-error.patch @@ -0,0 +1,45 @@ +From 417a1178f1bf3cdc606376b3ded3a22489fbb3eb Mon Sep 17 00:00:00 2001 +From: Lars-Peter Clausen +Date: Fri, 15 Mar 2013 11:26:15 +0100 +Subject: ASoC: dma-sh7760: Fix compile error + +From: Lars-Peter Clausen + +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 +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..ebaaaa7ff54 --- /dev/null +++ b/queue-3.0/reiserfs-fix-warning-and-inode-leak-when-deleting-inode-with-xattrs.patch @@ -0,0 +1,39 @@ +From 35e5cbc0af240778e61113286c019837e06aeec6 Mon Sep 17 00:00:00 2001 +From: Jan Kara +Date: Fri, 29 Mar 2013 15:39:16 +0100 +Subject: reiserfs: Fix warning and inode leak when deleting inode with xattrs + +From: Jan Kara + +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 +Signed-off-by: Jan Kara +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..fc929c6ee2b --- /dev/null +++ b/queue-3.0/series @@ -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 index 00000000000..9e450e0638e --- /dev/null +++ b/queue-3.0/ubifs-make-space-fixup-work-in-the-remount-case.patch @@ -0,0 +1,66 @@ +From 67e753ca41782913d805ff4a8a2b0f60b26b7915 Mon Sep 17 00:00:00 2001 +From: Artem Bityutskiy +Date: Thu, 14 Mar 2013 10:49:23 +0200 +Subject: UBIFS: make space fixup work in the remount case + +From: Artem Bityutskiy + +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 +Reported-by: Mark Jackson +Signed-off-by: Greg Kroah-Hartman + +--- + 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; + -- 2.47.3