]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.3-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Apr 2012 19:34:12 +0000 (12:34 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Apr 2012 19:34:12 +0000 (12:34 -0700)
added patches:
spi-topcliff-pch-fix-wuninitialized-warning.patch

queue-3.3/series
queue-3.3/spi-topcliff-pch-fix-wuninitialized-warning.patch [new file with mode: 0644]

index d7dbafe11c0e142572ba91dd7878ed0b9d5ad089..5910f1133b05626b479fad2dbd9d73c5e353740b 100644 (file)
@@ -65,3 +65,4 @@ usb-gadget-pch_udc-fix-usb-suspend-issue.patch
 usb-gadget-pch_udc-fix-usb-gadget-pch_udc-fix-ether.patch
 usb-gadget-pch_udc-reduce-redundant-interrupt.patch
 security-fix-compile-error-in-commoncap.c.patch
+spi-topcliff-pch-fix-wuninitialized-warning.patch
diff --git a/queue-3.3/spi-topcliff-pch-fix-wuninitialized-warning.patch b/queue-3.3/spi-topcliff-pch-fix-wuninitialized-warning.patch
new file mode 100644 (file)
index 0000000..d70369b
--- /dev/null
@@ -0,0 +1,79 @@
+From de3bd7e6de25141c466773c2e0fa319b2fa93655 Mon Sep 17 00:00:00 2001
+From: Danny Kukawka <danny.kukawka@bisect.de>
+Date: Tue, 14 Feb 2012 15:35:03 +0100
+Subject: spi-topcliff-pch: fix -Wuninitialized warning
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Danny Kukawka <danny.kukawka@bisect.de>
+
+commit de3bd7e6de25141c466773c2e0fa319b2fa93655 upstream.
+
+Fix for:
+drivers/spi/spi-topcliff-pch.c: In function ‘pch_spi_handler_sub’:
+drivers/spi/spi-topcliff-pch.c:325:17: warning: ‘bpw_len’ may be
+  used uninitialized in this function [-Wuninitialized]
+drivers/spi/spi-topcliff-pch.c:325:42: warning: ‘rx_index’ may be
+  used uninitialized in this function [-Wuninitialized]
+drivers/spi/spi-topcliff-pch.c:325:42: warning: ‘tx_index’ may be
+  used uninitialized in this function [-Wuninitialized]
+
+Move usage of tx_index, rx_index and bpw_len into the same
+block as where they are set to prevent uninitialized usage.
+
+v2: instead of init variables with 0 move the whole block
+
+[This patch title "warnings" makes you think "This patch is not
+for bug fix".  However, this patch surely patch for bug fix.]
+
+Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de>
+Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/spi/spi-topcliff-pch.c |   31 ++++++++++++++++---------------
+ 1 file changed, 16 insertions(+), 15 deletions(-)
+
+--- a/drivers/spi/spi-topcliff-pch.c
++++ b/drivers/spi/spi-topcliff-pch.c
+@@ -318,22 +318,23 @@ static void pch_spi_handler_sub(struct p
+               data->tx_index = tx_index;
+               data->rx_index = rx_index;
+-      }
+-
+-      /* if transfer complete interrupt */
+-      if (reg_spsr_val & SPSR_FI_BIT) {
+-              if ((tx_index == bpw_len) && (rx_index == tx_index)) {
+-                      /* disable interrupts */
+-                      pch_spi_setclr_reg(data->master, PCH_SPCR, 0, PCH_ALL);
++              /* if transfer complete interrupt */
++              if (reg_spsr_val & SPSR_FI_BIT) {
++                      if ((tx_index == bpw_len) && (rx_index == tx_index)) {
++                              /* disable interrupts */
++                              pch_spi_setclr_reg(data->master, PCH_SPCR, 0,
++                                                 PCH_ALL);
+-                      /* transfer is completed;
+-                         inform pch_spi_process_messages */
+-                      data->transfer_complete = true;
+-                      data->transfer_active = false;
+-                      wake_up(&data->wait);
+-              } else {
+-                      dev_err(&data->master->dev,
+-                              "%s : Transfer is not completed", __func__);
++                              /* transfer is completed;
++                                 inform pch_spi_process_messages */
++                              data->transfer_complete = true;
++                              data->transfer_active = false;
++                              wake_up(&data->wait);
++                      } else {
++                              dev_err(&data->master->dev,
++                                      "%s : Transfer is not completed",
++                                      __func__);
++                      }
+               }
+       }
+ }