brcm2708: update to latest patches from RPi Foundation
[openwrt/staging/chunkeey.git] / target / linux / brcm2708 / patches-4.19 / 950-0617-Pisound-Remove-spinlock-usage-around-spi_sync.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0617-Pisound-Remove-spinlock-usage-around-spi_sync.patch b/target/linux/brcm2708/patches-4.19/950-0617-Pisound-Remove-spinlock-usage-around-spi_sync.patch
new file mode 100644 (file)
index 0000000..5dee4cb
--- /dev/null
@@ -0,0 +1,31 @@
+From ace4e8240d581e6053f0165b2682a2db745d49dc Mon Sep 17 00:00:00 2001
+From: Giedrius <giedrius@blokas.io>
+Date: Fri, 12 Jul 2019 17:45:55 +0300
+Subject: [PATCH] Pisound: Remove spinlock usage around spi_sync
+
+---
+ sound/soc/bcm/pisound.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+--- a/sound/soc/bcm/pisound.c
++++ b/sound/soc/bcm/pisound.c
+@@ -286,9 +286,6 @@ static irqreturn_t data_available_interr
+       return IRQ_HANDLED;
+ }
+-static DEFINE_SPINLOCK(spilock);
+-static unsigned long spilockflags;
+-
+ static uint16_t spi_transfer16(uint16_t val)
+ {
+       uint8_t txbuf[2];
+@@ -333,9 +330,7 @@ static void spi_transfer(const uint8_t *
+       transfer.delay_usecs = 10;
+       spi_message_add_tail(&transfer, &msg);
+-      spin_lock_irqsave(&spilock, spilockflags);
+       err = spi_sync(pisnd_spi_device, &msg);
+-      spin_unlock_irqrestore(&spilock, spilockflags);
+       if (err < 0) {
+               printe("spi_sync error %d\n", err);