--- /dev/null
+From 5a83b4b5a391f07141b157ac9daa51c409e71ab5 Mon Sep 17 00:00:00 2001
+From: Alexander Stein <alexander.stein@systec-electronic.com>
+Date: Thu, 1 Nov 2012 13:42:37 +0100
+Subject: ALSA: hda: Cirrus: Fix coefficient index for beep configuration
+
+From: Alexander Stein <alexander.stein@systec-electronic.com>
+
+commit 5a83b4b5a391f07141b157ac9daa51c409e71ab5 upstream.
+
+Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_cirrus.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_cirrus.c
++++ b/sound/pci/hda/patch_cirrus.c
+@@ -991,7 +991,7 @@ static const struct hda_verb cs_coef_ini
+ | 0x0400 /* Disable Coefficient Auto increment */
+ )},
+ /* Beep */
+- {0x11, AC_VERB_SET_COEF_INDEX, IDX_DAC_CFG},
++ {0x11, AC_VERB_SET_COEF_INDEX, IDX_BEEP_CFG},
+ {0x11, AC_VERB_SET_PROC_COEF, 0x0007}, /* Enable Beep thru DAC1/2/3 */
+
+ {} /* terminator */
--- /dev/null
+From ae24c3191ba2ab03ec6b4be323e730e00404b4b6 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 5 Nov 2012 12:32:46 +0100
+Subject: ALSA: hda - Force to reset IEC958 status bits for AD codecs
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit ae24c3191ba2ab03ec6b4be323e730e00404b4b6 upstream.
+
+Several bug reports suggest that the forcibly resetting IEC958 status
+bits is required for AD codecs to get the SPDIF output working
+properly after changing streams.
+
+Original fix credit to Javeed Shaikh.
+
+BugLink: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/359361
+
+Reported-by: Robin Kreis <r.kreis@uni-bremen.de>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_analog.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -465,6 +465,7 @@ static int ad198x_build_pcms(struct hda_
+ if (spec->multiout.dig_out_nid) {
+ info++;
+ codec->num_pcms++;
++ codec->spdif_status_reset = 1;
+ info->name = "AD198x Digital";
+ info->pcm_type = HDA_PCM_TYPE_SPDIF;
+ info->stream[SNDRV_PCM_STREAM_PLAYBACK] = ad198x_pcm_digital_playback;
--- /dev/null
+From 445632ad6dda42f4d3f9df2569a852ca0d4ea608 Mon Sep 17 00:00:00 2001
+From: Misael Lopez Cruz <misael.lopez@ti.com>
+Date: Thu, 8 Nov 2012 12:03:12 -0600
+Subject: ASoC: dapm: Use card_list during DAPM shutdown
+
+From: Misael Lopez Cruz <misael.lopez@ti.com>
+
+commit 445632ad6dda42f4d3f9df2569a852ca0d4ea608 upstream.
+
+DAPM shutdown incorrectly uses "list" field of codec struct while
+iterating over probed components (codec_dev_list). "list" field
+refers to codecs registered in the system, "card_list" field is
+used for probed components.
+
+Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com>
+Signed-off-by: Liam Girdwood <lrg@ti.com>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/soc-dapm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/soc/soc-dapm.c
++++ b/sound/soc/soc-dapm.c
+@@ -2634,7 +2634,7 @@ void snd_soc_dapm_shutdown(struct snd_so
+ {
+ struct snd_soc_codec *codec;
+
+- list_for_each_entry(codec, &card->codec_dev_list, list) {
++ list_for_each_entry(codec, &card->codec_dev_list, card_list) {
+ soc_dapm_shutdown_codec(&codec->dapm);
+ if (codec->dapm.bias_level == SND_SOC_BIAS_STANDBY)
+ snd_soc_dapm_set_bias_level(&codec->dapm,
--- /dev/null
+From 55c6f4cb6ef49afbb86222c6a3ff85329199c729 Mon Sep 17 00:00:00 2001
+From: Eric Millbrandt <emillbrandt@dekaresearch.com>
+Date: Fri, 2 Nov 2012 17:05:44 -0400
+Subject: ASoC: wm8978: pll incorrectly configured when codec is master
+
+From: Eric Millbrandt <emillbrandt@dekaresearch.com>
+
+commit 55c6f4cb6ef49afbb86222c6a3ff85329199c729 upstream.
+
+When MCLK is supplied externally and BCLK and LRC are configured as outputs
+(codec is master), the PLL values are only calculated correctly on the first
+transmission. On subsequent transmissions, at differenct sample rates, the
+wrong PLL values are used. Test for f_opclk instead of f_pllout to determine
+if the PLL values are needed.
+
+Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/wm8978.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/soc/codecs/wm8978.c
++++ b/sound/soc/codecs/wm8978.c
+@@ -750,7 +750,7 @@ static int wm8978_hw_params(struct snd_p
+ wm8978->mclk_idx = -1;
+ f_sel = wm8978->f_mclk;
+ } else {
+- if (!wm8978->f_pllout) {
++ if (!wm8978->f_opclk) {
+ /* We only enter here, if OPCLK is not used */
+ int ret = wm8978_configure_pll(codec);
+ if (ret < 0)
--- /dev/null
+From 87f4d7c1d36f44b0822053b7e5dedc31fdd0ab99 Mon Sep 17 00:00:00 2001
+From: Jacob Keller <jacob.e.keller@intel.com>
+Date: Thu, 1 Nov 2012 12:30:16 +0000
+Subject: ptp: update adjfreq callback description
+
+From: Jacob Keller <jacob.e.keller@intel.com>
+
+commit 87f4d7c1d36f44b0822053b7e5dedc31fdd0ab99 upstream.
+
+This patch updates the adjfreq callback description to include a note that the
+delta in ppb is always relative to the base frequency, and not to the current
+frequency of the hardware clock.
+
+Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
+CC: Richard Cochran <richard.cochran@gmail.com>
+CC: John Stultz <john.stultz@linaro.org>
+Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ include/linux/ptp_clock_kernel.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/include/linux/ptp_clock_kernel.h
++++ b/include/linux/ptp_clock_kernel.h
+@@ -50,7 +50,8 @@ struct ptp_clock_request {
+ * clock operations
+ *
+ * @adjfreq: Adjusts the frequency of the hardware clock.
+- * parameter delta: Desired period change in parts per billion.
++ * parameter delta: Desired frequency offset from nominal frequency
++ * in parts per billion
+ *
+ * @adjtime: Shifts the time of the hardware clock.
+ * parameter delta: Desired change in nanoseconds.
pci-pm-fix-deadlock-when-unbinding-device-if-parent-in-d3cold.patch
fanotify-fix-missing-break.patch
crypto-cryptd-disable-softirqs-in-cryptd_queue_worker-to-prevent-data-corruption.patch
+ptp-update-adjfreq-callback-description.patch
+alsa-hda-cirrus-fix-coefficient-index-for-beep-configuration.patch
+alsa-hda-force-to-reset-iec958-status-bits-for-ad-codecs.patch
+asoc-wm8978-pll-incorrectly-configured-when-codec-is-master.patch
+asoc-dapm-use-card_list-during-dapm-shutdown.patch
+ubifs-fix-mounting-problems-after-power-cuts.patch
+ubifs-introduce-categorized-lprops-counter.patch
--- /dev/null
+From a28ad42a4a0c6f302f488f26488b8b37c9b30024 Mon Sep 17 00:00:00 2001
+From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+Date: Tue, 9 Oct 2012 16:20:15 +0300
+Subject: UBIFS: fix mounting problems after power cuts
+
+From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+
+commit a28ad42a4a0c6f302f488f26488b8b37c9b30024 upstream.
+
+This is a bugfix for a problem with the following symptoms:
+
+1. A power cut happens
+2. After reboot, we try to mount UBIFS
+3. Mount fails with "No space left on device" error message
+
+UBIFS complains like this:
+
+UBIFS error (pid 28225): grab_empty_leb: could not find an empty LEB
+
+The root cause of this problem is that when we mount, not all LEBs are
+categorized. Only those which were read are. However, the
+'ubifs_find_free_leb_for_idx()' function assumes that all LEBs were
+categorized and 'c->freeable_cnt' is valid, which is a false assumption.
+
+This patch fixes the problem by teaching 'ubifs_find_free_leb_for_idx()'
+to always fall back to LPT scanning if no freeable LEBs were found.
+
+This problem was reported by few people in the past, but Brent Taylor
+was able to reproduce it and send me a flash image which cannot be mounted,
+which made it easy to hunt the bug. Kudos to Brent.
+
+Reported-by: Brent Taylor <motobud@gmail.com>
+Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/ubifs/find.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+--- a/fs/ubifs/find.c
++++ b/fs/ubifs/find.c
+@@ -681,8 +681,16 @@ int ubifs_find_free_leb_for_idx(struct u
+ if (!lprops) {
+ lprops = ubifs_fast_find_freeable(c);
+ if (!lprops) {
+- ubifs_assert(c->freeable_cnt == 0);
+- if (c->lst.empty_lebs - c->lst.taken_empty_lebs > 0) {
++ /*
++ * The first condition means the following: go scan the
++ * LPT if there are uncategorized lprops, which means
++ * there may be freeable LEBs there (UBIFS does not
++ * store the information about freeable LEBs in the
++ * master node).
++ */
++ if (c->in_a_category_cnt != c->main_lebs ||
++ c->lst.empty_lebs - c->lst.taken_empty_lebs > 0) {
++ ubifs_assert(c->freeable_cnt == 0);
+ lprops = scan_for_leb_for_idx(c);
+ if (IS_ERR(lprops)) {
+ err = PTR_ERR(lprops);
--- /dev/null
+From 98a1eebda3cb2a84ecf1f219bb3a95769033d1bf Mon Sep 17 00:00:00 2001
+From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+Date: Wed, 10 Oct 2012 10:55:28 +0300
+Subject: UBIFS: introduce categorized lprops counter
+
+From: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+
+commit 98a1eebda3cb2a84ecf1f219bb3a95769033d1bf upstream.
+
+This commit is a preparation for a subsequent bugfix. We introduce a
+counter for categorized lprops.
+
+Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/ubifs/lprops.c | 6 ++++++
+ fs/ubifs/ubifs.h | 3 +++
+ 2 files changed, 9 insertions(+)
+
+--- a/fs/ubifs/lprops.c
++++ b/fs/ubifs/lprops.c
+@@ -300,8 +300,11 @@ void ubifs_add_to_cat(struct ubifs_info
+ default:
+ ubifs_assert(0);
+ }
++
+ lprops->flags &= ~LPROPS_CAT_MASK;
+ lprops->flags |= cat;
++ c->in_a_category_cnt += 1;
++ ubifs_assert(c->in_a_category_cnt <= c->main_lebs);
+ }
+
+ /**
+@@ -334,6 +337,9 @@ static void ubifs_remove_from_cat(struct
+ default:
+ ubifs_assert(0);
+ }
++
++ c->in_a_category_cnt -= 1;
++ ubifs_assert(c->in_a_category_cnt >= 0);
+ }
+
+ /**
+--- a/fs/ubifs/ubifs.h
++++ b/fs/ubifs/ubifs.h
+@@ -1187,6 +1187,8 @@ struct ubifs_debug_info;
+ * @freeable_list: list of freeable non-index LEBs (free + dirty == @leb_size)
+ * @frdi_idx_list: list of freeable index LEBs (free + dirty == @leb_size)
+ * @freeable_cnt: number of freeable LEBs in @freeable_list
++ * @in_a_category_cnt: count of lprops which are in a certain category, which
++ * basically meants that they were loaded from the flash
+ *
+ * @ltab_lnum: LEB number of LPT's own lprops table
+ * @ltab_offs: offset of LPT's own lprops table
+@@ -1416,6 +1418,7 @@ struct ubifs_info {
+ struct list_head freeable_list;
+ struct list_head frdi_idx_list;
+ int freeable_cnt;
++ int in_a_category_cnt;
+
+ int ltab_lnum;
+ int ltab_offs;