[ Aurelien Jarno ]
* mips/swarm: fix boot from IDE based media (Sebastian Andrzej Siewior) (closes: #466977). svn path=/dists/trunk/linux-2.6/; revision=15716
This commit is contained in:
parent
f542d42c76
commit
9bae13f791
|
@ -16,6 +16,10 @@ linux-2.6 (2.6.34-1~experimental.1) UNRELEASED; urgency=low
|
|||
* Prepare debconf templates for translation (Closes: #576758)
|
||||
* [x86] Enable r8187se driver, previously named rtl8187se
|
||||
|
||||
[ Aurelien Jarno ]
|
||||
* mips/swarm: fix boot from IDE based media (Sebastian Andrzej Siewior)
|
||||
(closes: #466977).
|
||||
|
||||
-- maximilian attems <maks@debian.org> Wed, 05 May 2010 22:57:24 +0200
|
||||
|
||||
linux-2.6 (2.6.33-1~experimental.5) experimental; urgency=low
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
|
||||
Subject: mips/ide: flush dcache also if icache does not snoop dcache
|
||||
|
||||
If this is not done then the new just read data which remains in dcache
|
||||
will not make it into icache on time. Thus the CPU loads invalid data
|
||||
and executes crap. The result is that the user is not able to execute
|
||||
anything from its IDE based media while reading plain data is still
|
||||
working well.
|
||||
This problem has been reported as Debian #404951.
|
||||
|
||||
Cc: stable@kernel.org
|
||||
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
|
||||
---
|
||||
arch/mips/include/asm/mach-generic/ide.h | 6 +++---
|
||||
1 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/mips/include/asm/mach-generic/ide.h b/arch/mips/include/asm/mach-generic/ide.h
|
||||
index 9c93a5b..e80e47f 100644
|
||||
--- a/arch/mips/include/asm/mach-generic/ide.h
|
||||
+++ b/arch/mips/include/asm/mach-generic/ide.h
|
||||
@@ -23,7 +23,7 @@
|
||||
static inline void __ide_flush_prologue(void)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
- if (cpu_has_dc_aliases)
|
||||
+ if (cpu_has_dc_aliases || !cpu_has_ic_fills_f_dc)
|
||||
preempt_disable();
|
||||
#endif
|
||||
}
|
||||
@@ -31,14 +31,14 @@ static inline void __ide_flush_prologue(void)
|
||||
static inline void __ide_flush_epilogue(void)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
- if (cpu_has_dc_aliases)
|
||||
+ if (cpu_has_dc_aliases || !cpu_has_ic_fills_f_dc)
|
||||
preempt_enable();
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void __ide_flush_dcache_range(unsigned long addr, unsigned long size)
|
||||
{
|
||||
- if (cpu_has_dc_aliases) {
|
||||
+ if (cpu_has_dc_aliases || !cpu_has_ic_fills_f_dc) {
|
||||
unsigned long end = addr + size;
|
||||
|
||||
while (addr < end) {
|
|
@ -56,3 +56,4 @@
|
|||
+ bugfix/all/p54pci-fix-serious-sparse-warning.patch
|
||||
+ bugfix/all/p54pci-fix-regression.patch
|
||||
+ bugfix/all/cifs-allow-null-nd-on-create.patch
|
||||
+ bugfix/mips/mips-ide-flush-dcache.patch
|
||||
|
|
Loading…
Reference in New Issue