summaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/patches-4.4/711-spi-qup-Fix-transaction-done-signaling.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ipq806x/patches-4.4/711-spi-qup-Fix-transaction-done-signaling.patch')
-rw-r--r--target/linux/ipq806x/patches-4.4/711-spi-qup-Fix-transaction-done-signaling.patch11
1 files changed, 3 insertions, 8 deletions
diff --git a/target/linux/ipq806x/patches-4.4/711-spi-qup-Fix-transaction-done-signaling.patch b/target/linux/ipq806x/patches-4.4/711-spi-qup-Fix-transaction-done-signaling.patch
index dd4bad344b..99f455ef3c 100644
--- a/target/linux/ipq806x/patches-4.4/711-spi-qup-Fix-transaction-done-signaling.patch
+++ b/target/linux/ipq806x/patches-4.4/711-spi-qup-Fix-transaction-done-signaling.patch
@@ -16,20 +16,15 @@ Signed-off-by: Andy Gross <andy.gross@linaro.org>
drivers/spi/spi-qup.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-index 714fd4e..fe629f2 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
-@@ -447,7 +447,8 @@ static irqreturn_t spi_qup_qup_irq(int irq, void *dev_id)
+@@ -447,7 +447,8 @@ static irqreturn_t spi_qup_qup_irq(int i
controller->xfer = xfer;
spin_unlock_irqrestore(&controller->lock, flags);
-
+
- if (controller->rx_bytes == xfer->len || error)
+ if ((controller->rx_bytes == xfer->len &&
+ (opflags & QUP_OP_MAX_INPUT_DONE_FLAG)) || error)
complete(&controller->done);
-
+
return IRQ_HANDLED;
---
-2.7.2
-