]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Jun 2013 20:11:01 +0000 (13:11 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Jun 2013 20:11:01 +0000 (13:11 -0700)
added patches:
asoc-davinci-fix-sample-rotation.patch
ib-iser-return-error-to-upper-layers-on-eagain-registration-failures.patch

queue-3.9/asoc-davinci-fix-sample-rotation.patch [new file with mode: 0644]
queue-3.9/ib-iser-return-error-to-upper-layers-on-eagain-registration-failures.patch [new file with mode: 0644]
queue-3.9/series

diff --git a/queue-3.9/asoc-davinci-fix-sample-rotation.patch b/queue-3.9/asoc-davinci-fix-sample-rotation.patch
new file mode 100644 (file)
index 0000000..9263d73
--- /dev/null
@@ -0,0 +1,48 @@
+From 796718925159523919a589ecbd6d1811c22ef55f Mon Sep 17 00:00:00 2001
+From: Daniel Mack <zonque@gmail.com>
+Date: Thu, 16 May 2013 15:25:01 +0200
+Subject: ASoC: davinci: fix sample rotation
+
+From: Daniel Mack <zonque@gmail.com>
+
+commit 796718925159523919a589ecbd6d1811c22ef55f upstream.
+
+McASP serial audio engine needs different rotation values on TX and RX
+channels. Commit dde109fb462 ("ASoC: McASP: Fix data rotation for
+playback. Enables 24bit audio playback") changed the calculation to fix
+the playback format, but broke the capture stream by doing it for both
+TXFMT and RXFMT.
+
+Signed-off-by: Daniel Mack <zonque@gmail.com>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Lingzhu Xiang <lxiang@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/davinci/davinci-mcasp.c |    7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/sound/soc/davinci/davinci-mcasp.c
++++ b/sound/soc/davinci/davinci-mcasp.c
+@@ -626,7 +626,8 @@ static int davinci_config_channel_size(s
+                                      int word_length)
+ {
+       u32 fmt;
+-      u32 rotate = (word_length / 4) & 0x7;
++      u32 tx_rotate = (word_length / 4) & 0x7;
++      u32 rx_rotate = (32 - word_length) / 4;
+       u32 mask = (1ULL << word_length) - 1;
+       /*
+@@ -647,9 +648,9 @@ static int davinci_config_channel_size(s
+                                       RXSSZ(fmt), RXSSZ(0x0F));
+       mcasp_mod_bits(dev->base + DAVINCI_MCASP_TXFMT_REG,
+                                       TXSSZ(fmt), TXSSZ(0x0F));
+-      mcasp_mod_bits(dev->base + DAVINCI_MCASP_TXFMT_REG, TXROT(rotate),
++      mcasp_mod_bits(dev->base + DAVINCI_MCASP_TXFMT_REG, TXROT(tx_rotate),
+                                                       TXROT(7));
+-      mcasp_mod_bits(dev->base + DAVINCI_MCASP_RXFMT_REG, RXROT(rotate),
++      mcasp_mod_bits(dev->base + DAVINCI_MCASP_RXFMT_REG, RXROT(rx_rotate),
+                                                       RXROT(7));
+       mcasp_set_reg(dev->base + DAVINCI_MCASP_TXMASK_REG, mask);
+       mcasp_set_reg(dev->base + DAVINCI_MCASP_RXMASK_REG, mask);
diff --git a/queue-3.9/ib-iser-return-error-to-upper-layers-on-eagain-registration-failures.patch b/queue-3.9/ib-iser-return-error-to-upper-layers-on-eagain-registration-failures.patch
new file mode 100644 (file)
index 0000000..5a25de7
--- /dev/null
@@ -0,0 +1,36 @@
+From 450d1e40d597dd71843457c73d372c4b4f2a83eb Mon Sep 17 00:00:00 2001
+From: Or Gerlitz <ogerlitz@mellanox.com>
+Date: Wed, 1 May 2013 13:25:26 +0000
+Subject: IB/iser: Return error to upper layers on EAGAIN registration failures
+
+From: Or Gerlitz <ogerlitz@mellanox.com>
+
+commit 450d1e40d597dd71843457c73d372c4b4f2a83eb upstream.
+
+Commit 819a087316a6 ("IB/iser: Avoid error prints on EAGAIN
+registration failures") not only eliminated the error print on that
+case, but rather also modified the code such that it doesn't return
+any error to upper layers.  As a result a wrong mapping was used.  Fix
+this to correctly return the error in that case.
+
+Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
+Signed-off-by: Roland Dreier <roland@purestorage.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/infiniband/ulp/iser/iser_memory.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/infiniband/ulp/iser/iser_memory.c
++++ b/drivers/infiniband/ulp/iser/iser_memory.c
+@@ -416,8 +416,9 @@ int iser_reg_rdma_mem(struct iscsi_iser_
+                       for (i=0 ; i<ib_conn->page_vec->length ; i++)
+                               iser_err("page_vec[%d] = 0x%llx\n", i,
+                                        (unsigned long long) ib_conn->page_vec->pages[i]);
+-                      return err;
+               }
++              if (err)
++                      return err;
+       }
+       return 0;
+ }
index e25d4ae1b57b6ebbe1160a0fa55d164aef892c08..c49d32575b5a120ffa6d9211afe8c2c58f9e5303 100644 (file)
@@ -111,3 +111,5 @@ cfg80211-check-wdev-netdev-in-connection-work.patch
 ath9k-use-correct-otp-register-offsets-for-ar9550.patch
 tg3-add-read-dma-workaround-for-5720.patch
 net-can-kvaser_usb-fix-reception-on-usbcan-pro-and-usbcan-r-type-hardware.patch
+ib-iser-return-error-to-upper-layers-on-eagain-registration-failures.patch
+asoc-davinci-fix-sample-rotation.patch