[parisc-linux-cvs] Re: DIFF 2.4.20-pa15 tulip/eeprom.c + traps.c
Grant Grundler
grundler@dsl2.external.hp.com
Wed, 18 Dec 2002 10:08:47 -0700
On Wed, Dec 18, 2002 at 01:19:14AM -0700, Grant Grundler wrote:
> Log message:
> 2.4.20-pa15 irq enable and tulip add-on card fix
> o only enable IRQs in handle_interruption before call do_page_fault()
> as per willy's suggestion. This seems to work on a500 SMP.
> o revert change in tulip_parse_eeprom() that resulted in building a fake
> media table when we didn't want to. my bad since I didn't read the code
> right when I made the change.
>
> booted on a500 with hp_diva_timer code disbled.
Here's the diff.
Never try to do a commit from motel wireless network...GRRHHH...
grant
Index: Makefile
===================================================================
RCS file: /var/cvs/linux/Makefile,v
retrieving revision 1.374
diff -u -p -r1.374 Makefile
--- Makefile 12 Dec 2002 17:14:06 -0000 1.374
+++ Makefile 18 Dec 2002 06:58:38 -0000
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 20
-EXTRAVERSION = -pa14
+EXTRAVERSION = -pa15
KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
Index: arch/parisc/kernel/traps.c
===================================================================
RCS file: /var/cvs/linux/arch/parisc/kernel/traps.c,v
retrieving revision 1.70
diff -u -p -r1.70 traps.c
--- arch/parisc/kernel/traps.c 17 Nov 2002 20:44:11 -0000 1.70
+++ arch/parisc/kernel/traps.c 18 Dec 2002 06:58:38 -0000
@@ -455,13 +455,6 @@ void handle_interruption(int code, struc
unsigned long fault_space = 0;
struct siginfo si;
- /* HACK! jsm is going to fix this.
- * entry.S will manage I-bit - only enable I-bit if it was
- * enabled before we took the "trap".
- */
- if (code != 1)
- local_irq_enable();
-
switch(code) {
case 1:
@@ -727,6 +720,7 @@ void handle_interruption(int code, struc
}
}
+ local_irq_enable();
do_page_fault(regs, code, fault_address);
}
Index: drivers/net/tulip/eeprom.c
===================================================================
RCS file: /var/cvs/linux/drivers/net/tulip/eeprom.c,v
retrieving revision 1.16
diff -u -p -r1.16 eeprom.c
--- drivers/net/tulip/eeprom.c 17 Nov 2002 20:44:11 -0000 1.16
+++ drivers/net/tulip/eeprom.c 18 Dec 2002 06:58:38 -0000
@@ -190,7 +190,7 @@ void __devinit tulip_parse_eeprom(struct
}
subsequent_board:
- if (ee_data[27] == 0 || ee_data[ee_data[27]] == 0) { /* No valid media table. */
+ if (ee_data[27] == 0) { /* No valid media table. */
tulip_build_fake_mediatable(tp);
} else if (tp->chip_id == DC21041) {
unsigned char *p = (void *)ee_data + ee_data[27 + controller_index*3];