]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Wed, 16 Nov 2011 23:47:32 +0000 (15:47 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 16 Nov 2011 23:47:32 +0000 (15:47 -0800)
added patches:
b43-refuse-to-load-unsupported-firmware.patch
md-raid5-abort-any-pending-parity-operations-when-array-fails.patch
mfd-fix-twl4030-dependencies-for-audio-codec.patch

queue-3.0/b43-refuse-to-load-unsupported-firmware.patch [new file with mode: 0644]
queue-3.0/md-raid5-abort-any-pending-parity-operations-when-array-fails.patch [new file with mode: 0644]
queue-3.0/mfd-fix-twl4030-dependencies-for-audio-codec.patch [new file with mode: 0644]
queue-3.0/series

diff --git a/queue-3.0/b43-refuse-to-load-unsupported-firmware.patch b/queue-3.0/b43-refuse-to-load-unsupported-firmware.patch
new file mode 100644 (file)
index 0000000..19862c3
--- /dev/null
@@ -0,0 +1,36 @@
+From zajec5@gmail.com  Wed Nov 16 15:21:46 2011
+From: Rafał Miłecki <zajec5@gmail.com>
+Date: Tue,  8 Nov 2011 17:15:03 +0100
+Subject: b43: refuse to load unsupported firmware
+To: stable@kernel.org, <Greg KH> greg@kroah.com
+Cc: linux-wireless@vger.kernel.org, b43-dev@lists.infradead.org, roman-vl@meta.ua, Rafał Miłecki <zajec5@gmail.com>
+Message-ID: <1320768903-8731-1-git-send-email-zajec5@gmail.com>
+
+[This patch is supposed to be applied in 3.1 (and maybe older) branches only.]
+
+New kernels support newer firmware that users may try to incorrectly use
+with older kernels. Display error and explain the problem in such a case
+
+Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/wireless/b43/main.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/net/wireless/b43/main.c
++++ b/drivers/net/wireless/b43/main.c
+@@ -2401,6 +2401,13 @@ static int b43_upload_microcode(struct b
+               b43_print_fw_helptext(dev->wl, 1);
+               err = -EOPNOTSUPP;
+               goto error;
++      } else if (fwrev >= 598) {
++              b43err(dev->wl, "YOUR FIRMWARE IS TOO NEW. Support for "
++                     "firmware 598 and up requires kernel 3.2 or newer. You "
++                     "have to install older firmware or upgrade kernel.\n");
++              b43_print_fw_helptext(dev->wl, 1);
++              err = -EOPNOTSUPP;
++              goto error;
+       }
+       dev->fw.rev = fwrev;
+       dev->fw.patch = fwpatch;
diff --git a/queue-3.0/md-raid5-abort-any-pending-parity-operations-when-array-fails.patch b/queue-3.0/md-raid5-abort-any-pending-parity-operations-when-array-fails.patch
new file mode 100644 (file)
index 0000000..a9a34f3
--- /dev/null
@@ -0,0 +1,75 @@
+From 9a3f530f39f4490eaa18b02719fb74ce5f4d2d86 Mon Sep 17 00:00:00 2001
+From: NeilBrown <neilb@suse.de>
+Date: Tue, 8 Nov 2011 16:22:01 +1100
+Subject: md/raid5: abort any pending parity operations when array fails.
+
+From: NeilBrown <neilb@suse.de>
+
+commit 9a3f530f39f4490eaa18b02719fb74ce5f4d2d86 upstream.
+
+When the number of failed devices exceeds the allowed number
+we must abort any active parity operations (checks or updates) as they
+are no longer meaningful, and can lead to a BUG_ON in
+handle_parity_checks6.
+
+This bug was introduce by commit 6c0069c0ae9659e3a91b68eaed06a5c6c37f45c8
+in 2.6.29.
+
+Reported-by: Manish Katiyar <mkatiyar@gmail.com>
+Tested-by: Manish Katiyar <mkatiyar@gmail.com>
+Acked-by: Dan Williams <dan.j.williams@intel.com>
+Signed-off-by: NeilBrown <neilb@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/md/raid5.c |   32 ++++++++++++++++++++------------
+ 1 file changed, 20 insertions(+), 12 deletions(-)
+
+--- a/drivers/md/raid5.c
++++ b/drivers/md/raid5.c
+@@ -3120,12 +3120,16 @@ static void handle_stripe5(struct stripe
+       /* check if the array has lost two devices and, if so, some requests might
+        * need to be failed
+        */
+-      if (s.failed > 1 && s.to_read+s.to_write+s.written)
+-              handle_failed_stripe(conf, sh, &s, disks, &return_bi);
+-      if (s.failed > 1 && s.syncing) {
+-              md_done_sync(conf->mddev, STRIPE_SECTORS,0);
+-              clear_bit(STRIPE_SYNCING, &sh->state);
+-              s.syncing = 0;
++      if (s.failed > 1) {
++              sh->check_state = 0;
++              sh->reconstruct_state = 0;
++              if (s.to_read+s.to_write+s.written)
++                      handle_failed_stripe(conf, sh, &s, disks, &return_bi);
++              if (s.syncing) {
++                      md_done_sync(conf->mddev, STRIPE_SECTORS,0);
++                      clear_bit(STRIPE_SYNCING, &sh->state);
++                      s.syncing = 0;
++              }
+       }
+       /* might be able to return some write requests if the parity block
+@@ -3412,12 +3416,16 @@ static void handle_stripe6(struct stripe
+       /* check if the array has lost >2 devices and, if so, some requests
+        * might need to be failed
+        */
+-      if (s.failed > 2 && s.to_read+s.to_write+s.written)
+-              handle_failed_stripe(conf, sh, &s, disks, &return_bi);
+-      if (s.failed > 2 && s.syncing) {
+-              md_done_sync(conf->mddev, STRIPE_SECTORS,0);
+-              clear_bit(STRIPE_SYNCING, &sh->state);
+-              s.syncing = 0;
++      if (s.failed > 2) {
++              sh->check_state = 0;
++              sh->reconstruct_state = 0;
++              if (s.to_read+s.to_write+s.written)
++                      handle_failed_stripe(conf, sh, &s, disks, &return_bi);
++              if (s.syncing) {
++                      md_done_sync(conf->mddev, STRIPE_SECTORS,0);
++                      clear_bit(STRIPE_SYNCING, &sh->state);
++                      s.syncing = 0;
++              }
+       }
+       /*
diff --git a/queue-3.0/mfd-fix-twl4030-dependencies-for-audio-codec.patch b/queue-3.0/mfd-fix-twl4030-dependencies-for-audio-codec.patch
new file mode 100644 (file)
index 0000000..0ae161e
--- /dev/null
@@ -0,0 +1,44 @@
+From f09ee0451a44a4e913a7c3cec3805508f7de6c54 Mon Sep 17 00:00:00 2001
+From: Thomas Weber <weber@corscience.de>
+Date: Mon, 5 Sep 2011 11:26:33 +0200
+Subject: mfd: Fix twl4030 dependencies for audio codec
+
+From: Thomas Weber <weber@corscience.de>
+
+commit f09ee0451a44a4e913a7c3cec3805508f7de6c54 upstream.
+
+The codec for Devkit8000 (TWL4030)  was not detected except
+when build with CONFIG_SND_SOC_ALL_CODECS.
+
+twl-core.c still uses the CONFIG_TWL4030_CODEC for
+twl_has_codec().
+
+In commit 57fe7251f5bfc4332f24479376de48a1e8ca6211
+the CONFIG_TWL4030_CODEC was renamed
+into CONFIG_MFD_TWL4030_AUDIO, thatswhy the codec
+was not detected.
+
+This patch renames the CONFIG_ TWL4030_CODEC into
+CONFIG_MFD_TWL4030_AUDIO in twl-core.c.
+
+Signed-off-by: Thomas Weber <weber@corscience.de>
+Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
+Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
+Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/mfd/twl-core.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/mfd/twl-core.c
++++ b/drivers/mfd/twl-core.c
+@@ -109,7 +109,7 @@
+ #define twl_has_watchdog()        false
+ #endif
+-#if defined(CONFIG_TWL4030_CODEC) || defined(CONFIG_TWL4030_CODEC_MODULE) ||\
++#if defined(CONFIG_MFD_TWL4030_AUDIO) || defined(CONFIG_MFD_TWL4030_AUDIO_MODULE) ||\
+       defined(CONFIG_SND_SOC_TWL6040) || defined(CONFIG_SND_SOC_TWL6040_MODULE)
+ #define twl_has_codec()       true
+ #else
index f2a7e14dd339111bf70cc75c666592e4cdc3c621..63f434eba3aabf9664bd3e92bf215061b9745dc9 100644 (file)
@@ -15,3 +15,6 @@ drm-radeon-kms-fix-up-gpio-i2c-mask-bits-for-r4xx.patch
 drm-i915-enable-ring-freq-scaling-rc6-and-graphics-turbo-on-ivy-bridge-v3.patch
 sfi-table-irq-0xff-means-no-interrupt.patch
 x86-mrst-use-a-temporary-variable-for-sfi-irq.patch
+b43-refuse-to-load-unsupported-firmware.patch
+md-raid5-abort-any-pending-parity-operations-when-array-fails.patch
+mfd-fix-twl4030-dependencies-for-audio-codec.patch