[ 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:
Aurelien Jarno 2010-05-17 16:07:45 +00:00
parent f542d42c76
commit 9bae13f791
3 changed files with 51 additions and 0 deletions

4
debian/changelog vendored
View File

@ -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

View File

@ -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) {

View File

@ -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