Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Karsten Merker <karsten@excalibur.cologne.de>
To: linux-mips@linux-mips.org
Cc: tom@maisl.net
Subject: [PATCH] Cobalt interrupthandler fix
Date: Fri, 24 Jan 2003 15:15:24 +0100	[thread overview]
Message-ID: <20030124141524.GA685@excalibur.cologne.de> (raw)

[-- Attachment #1: Type: text/plain, Size: 723 bytes --]

Hallo,

the Cobalt NASRaQ (as well as other RaQ models) has the problem of freezing
when there is activity on the serial port and on the ethernet at the same
time. Peter de Schrijver has tracked this down to a bug in the interrupt
handler. The handler currently does not check whether an interrupt is masked
and calls the handling routine for _every_ interrupt, not only for those
that are not masked out currently.

The following patch fixes this. Ralf, could you please apply the fix
to the CVS?

Regards,
Karsten
-- 
#include <standard_disclaimer>
Nach Paragraph 28 Abs. 3 Bundesdatenschutzgesetz widerspreche ich der Nutzung
oder Uebermittlung meiner Daten fuer Werbezwecke oder fuer die Markt- oder
Meinungsforschung.

[-- Attachment #2: cobalt-irqhandler.diff --]
[-- Type: text/plain, Size: 524 bytes --]

diff -Nur linux/arch/mips/cobalt/int-handler.S linux-cobalt/arch/mips/cobalt/int-handler.S
--- linux/arch/mips/cobalt/int-handler.S	Fri Sep 13 21:21:58 2002
+++ linux-cobalt/arch/mips/cobalt/int-handler.S	Tue Dec 31 22:26:18 2002
@@ -30,7 +30,9 @@
 		/*
 		 * Get pending Interrupts
 		 */
-		mfc0	s0,CP0_CAUSE	# get irq mask
+		mfc0	s0,CP0_CAUSE	# get raw irq status
+		mfc0	a0,CP0_STATUS	# get irq mask
+		and	s0,s0,a0	# compute masked irq status
 
 		andi	a0,s0,CAUSEF_IP2	/* Check for Galileo timer */
 		beq	a0,zero,1f

             reply	other threads:[~2003-01-24 14:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-24 14:15 Karsten Merker [this message]
2003-01-28  0:51 ` [PATCH] Cobalt interrupthandler fix Liam Davies
2003-02-02 21:17 ` Greg Lindahl
2003-02-06  0:29 ` hidden bug in 32 bit kernel ejtag Greg Lindahl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030124141524.GA685@excalibur.cologne.de \
    --to=karsten@excalibur.cologne.de \
    --cc=linux-mips@linux-mips.org \
    --cc=tom@maisl.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox