Add bugfix/sparc/sunblade1k-boot-fix.patch by David Miller to fix the

boottime crash on SunBlade1000.

svn path=/dists/trunk/linux-2.6/; revision=7675
This commit is contained in:
Jurij Smakov 2006-11-01 17:29:49 +00:00
parent 9bf1907665
commit fa5e8e4c6e
3 changed files with 51 additions and 0 deletions

2
debian/changelog vendored
View File

@ -21,6 +21,8 @@ linux-2.6 (2.6.18-4) UNRELEASED; urgency=high
(20 bytes). It fixes the situations in which storing longer device (20 bytes). It fixes the situations in which storing longer device
names in this field would cause corruption of adjacent memory regions. names in this field would cause corruption of adjacent memory regions.
(closes: #394697). (closes: #394697).
* [sparc] Add bugfix/sparc/sunblade1k-boot-fix.patch (thanks to David
Miller) to fix a boottime crash on SunBlade1000.
[ Martin Michlmayr ] [ Martin Michlmayr ]
* arm/iop32x: Fix the interrupt of the 2nd Ethernet slot on N2100. * arm/iop32x: Fix the interrupt of the 2nd Ethernet slot on N2100.

View File

@ -0,0 +1,48 @@
--- a/arch/sparc64/kernel/prom.c 2006-09-19 20:42:06.000000000 -0700
+++ b/arch/sparc64/kernel/prom.c 2006-10-31 22:41:07.000000000 -0800
@@ -794,7 +794,7 @@
return virt_irq;
}
-static void schizo_irq_trans_init(struct device_node *dp)
+static void __schizo_irq_trans_init(struct device_node *dp, int is_tomatillo)
{
struct linux_prom64_registers *regs;
struct schizo_irq_data *irq_data;
@@ -808,11 +808,24 @@
dp->irq_trans->data = irq_data;
irq_data->pbm_regs = regs[0].phys_addr;
- irq_data->sync_reg = regs[3].phys_addr + 0x1a18UL;
+ if (is_tomatillo)
+ irq_data->sync_reg = regs[3].phys_addr + 0x1a18UL;
+ else
+ irq_data->sync_reg = 0UL;
irq_data->portid = of_getintprop_default(dp, "portid", 0);
irq_data->chip_version = of_getintprop_default(dp, "version#", 0);
}
+static void schizo_irq_trans_init(struct device_node *dp)
+{
+ __schizo_irq_trans_init(dp, 0);
+}
+
+static void tomatillo_irq_trans_init(struct device_node *dp)
+{
+ __schizo_irq_trans_init(dp, 1);
+}
+
static unsigned int pci_sun4v_irq_build(struct device_node *dp,
unsigned int devino,
void *_data)
@@ -1051,8 +1064,8 @@
{ "pci108e,8001", schizo_irq_trans_init },
{ "SUNW,schizo+", schizo_irq_trans_init },
{ "pci108e,8002", schizo_irq_trans_init },
- { "SUNW,tomatillo", schizo_irq_trans_init },
- { "pci108e,a801", schizo_irq_trans_init },
+ { "SUNW,tomatillo", tomatillo_irq_trans_init },
+ { "pci108e,a801", tomatillo_irq_trans_init },
{ "SUNW,sun4v-pci", pci_sun4v_irq_trans_init },
};
#endif

View File

@ -21,3 +21,4 @@
+ features/arm/ixp4xx-net-driver-fix-qmgr.patch + features/arm/ixp4xx-net-driver-fix-qmgr.patch
+ features/arm/ixp4xx-net-driver-improve-mac-handling.patch + features/arm/ixp4xx-net-driver-improve-mac-handling.patch
+ bugfix/powerpc/interrupt-alignement.patch + bugfix/powerpc/interrupt-alignement.patch
+ bugfix/sparc/sunblade1k-boot-fix.patch