eb1762ded53791e5b8d99ae4e108db0959e087ff
[openwrt/svn-archive/archive.git] / target / linux / brcm2708 / patches-3.10 / 0024-Fix-spinlock-recursion-in-sdhci-bcm2708.c.patch
1 From 24ecdf1266c6dd4213f7fc5e2a01c3b661877c81 Mon Sep 17 00:00:00 2001
2 From: ddv2005 <ddv@abinet.com>
3 Date: Sun, 5 Aug 2012 10:42:12 -0400
4 Subject: [PATCH 024/196] Fix spinlock recursion in sdhci-bcm2708.c
5
6 ---
7 drivers/mmc/host/sdhci-bcm2708.c | 14 +++++++-------
8 1 file changed, 7 insertions(+), 7 deletions(-)
9
10 diff --git a/drivers/mmc/host/sdhci-bcm2708.c b/drivers/mmc/host/sdhci-bcm2708.c
11 index 8243593..7a703c2 100644
12 --- a/drivers/mmc/host/sdhci-bcm2708.c
13 +++ b/drivers/mmc/host/sdhci-bcm2708.c
14 @@ -643,11 +643,11 @@ void
15 sdhci_bcm2708_platdma_reset(struct sdhci_host *host, struct mmc_data *data)
16 {
17 struct sdhci_bcm2708_priv *host_priv = SDHCI_HOST_PRIV(host);
18 - unsigned long flags;
19 +// unsigned long flags;
20
21 BUG_ON(NULL == host);
22
23 - spin_lock_irqsave(&host->lock, flags);
24 +// spin_lock_irqsave(&host->lock, flags);
25
26 if (host_priv->dma_wanted) {
27 if (NULL == data) {
28 @@ -727,7 +727,7 @@ sdhci_bcm2708_platdma_reset(struct sdhci_host *host, struct mmc_data *data)
29 #endif
30 }
31
32 - spin_unlock_irqrestore(&host->lock, flags);
33 +// spin_unlock_irqrestore(&host->lock, flags);
34 }
35
36
37 @@ -740,11 +740,11 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host,
38 int sg_len;
39 int sg_ix;
40 int sg_todo;
41 - unsigned long flags;
42 +// unsigned long flags;
43
44 BUG_ON(NULL == host);
45
46 - spin_lock_irqsave(&host->lock, flags);
47 +// spin_lock_irqsave(&host->lock, flags);
48 data = host->data;
49
50 #ifdef CHECK_DMA_USE
51 @@ -769,7 +769,7 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host,
52
53 if (NULL == data) {
54 DBG("PDMA unused completion - status 0x%X\n", dma_cs);
55 - spin_unlock_irqrestore(&host->lock, flags);
56 +// spin_unlock_irqrestore(&host->lock, flags);
57 return;
58 }
59 sg = data->sg;
60 @@ -862,7 +862,7 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host,
61 SDHCI_INT_SPACE_AVAIL);
62 }
63 }
64 - spin_unlock_irqrestore(&host->lock, flags);
65 +// spin_unlock_irqrestore(&host->lock, flags);
66 }
67
68 static irqreturn_t sdhci_bcm2708_dma_irq(int irq, void *dev_id)
69 --
70 1.9.1
71