Re: Searching a Bug on Raspberry Pi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/30/2013 06:42 AM, Georg Gast wrote:
> Hi Tom,
> 
> the problem occurs even if i set enable_llm=0. The while loop is now not
> touched and the rpi deadlocks too.
> 
> As far as i understand it, the sdhci.c is the base for all sdhci card
> readers and the sdhci-*.c implement the ops for the specific hardware.
> 
> My problem is, that i dont have an other sdhci card reader here. It wont
> be possible to boot from, but i could try to read from it on a rt
> kernel. If i compile the sdhci_bcm2708 as a module, i could not get a
> device info from the rpi reader. Maybe an other reader works, then the
> real problem sits in sdhci_bcm2708.c (or at bad luck, it shows an bigger
> problem in sdhci.c).
> 
> Georg
> 

Here's a quick and dirty hack to get things going.

Regards,

Jeremy
--- linux/drivers/mmc/host/sdhci.c	2013-07-03 11:54:06.306455988 +0200
+++ linux-rt/drivers/mmc/host/sdhci.c	2013-07-03 16:49:33.298601044 +0200
@@ -162,9 +162,17 @@
 			preempt_schedule();
 		}
 		spin_lock_irqsave(&host->lock,*flags);
+#ifdef CONFIG_PREEMPT_RT_FULL
+		disable_irq_nosync(host->irq);
+#else
 		disable_irq(host->irq);
+#endif
 		if(host->second_irq)
+#ifdef CONFIG_PREEMPT_RT_FULL
+			disable_irq_nosync(host->second_irq);
+#else
 			disable_irq(host->second_irq);
+#endif
 		local_irq_enable();
 	}
 	else
@@ -1834,7 +1842,11 @@
 	host = mmc_priv(mmc);
 
 	sdhci_runtime_pm_get(host);
+#ifdef CONFIG_PREEMPT_RT_FULL
+	disable_irq_nosync(host->irq);
+#else
 	disable_irq(host->irq);
+#endif
 	spin_lock(&host->lock);
 
 	ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
@@ -1935,7 +1947,11 @@
 		wait_event_interruptible_timeout(host->buf_ready_int,
 					(host->tuning_done == 1),
 					msecs_to_jiffies(50));
+#ifdef CONFIG_PREEMPT_RT_FULL
+		disable_irq_nosync(host->irq);
+#else
 		disable_irq(host->irq);
+#endif
 		spin_lock(&host->lock);
 
 		if (!host->tuning_done) {

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux