From: Sven Schnelle <svens@stackframe.org>
To: deller@gmx.de
Cc: linux-parisc@vger.kernel.org, Sven Schnelle <svens@stackframe.org>
Subject: [PATCH] parisc: fix iosapic address compare
Date: Mon, 18 Mar 2019 15:13:01 +0100 [thread overview]
Message-ID: <20190318141301.14750-1-svens@stackframe.org> (raw)
Hi Helge,
i just updated my C3750 to latest git, and got the kernel oops below. It looks
like the change to using F_EXTEND breaks using 32 bit kernels on at least my
C3750. Not sure whether we should revert the F_EXTEND change, or just cast
the other side of the compare to long. The patch below does this.
_______________________________
< Your System ate a SPARC! Gah! >
-------------------------------
\ ^__^
(__)\ )\/\
U ||----w |
|| ||
swapper (pid 1): Unknown kernel breakpoint (code 9)
CPU: 0 PID: 1 Comm: swapper Not tainted 5.0.0+ #60
Hardware name: 9000/785/C3750
YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00000000000001000000000000001111 Not tainted
r00-03 0004000f 109bf020 10451e1c 4fc58340
r04-07 109bf730 00000000 109bf020 00002710
r08-11 10852cf4 10852d08 1093d800 1093d800
r12-15 4fc43470 0000ffff 10998820 10459834
r16-19 101c9f28 00000000 38be5e00 00000000
r20-23 38be5e00 38000000 10459834 00000000
r24-27 3d090000 00000000 4fc43400 10902020
r28-31 00000000 38be5e00 4fc583c0 101165d4
sr00-03 00000000 00000000 00000000 00000000
sr04-07 00000000 00000000 00000000 00000000
IASQ: 00000000 00000000 IAOQ: 10459adc 10459ae0
IIR: 03ffe01f ISR: 102400ff IOR: 1605835c
CPU: 0 CR30: 4fc58000 CR31: ffffffff
ORIG_R28: 109a8820
IAOQ[0]: superio_init+0x2a8/0x508
IAOQ[1]: superio_init+0x2ac/0x508
RP(r2): pci_do_fixups+0x12c/0x208
Backtrace:
[<10451e1c>] pci_do_fixups+0x12c/0x208
[<101165d4>] 0x101165d4
[<10156184>] do_one_initcall+0xa0/0x1d8
[<101014dc>] 0x101014dc
[<10762fd8>] kernel_init+0x20/0x1a0
[<1015e01c>] ret_from_kernel_thread+0x1c/0x24
CPU: 0 PID: 1 Comm: swapper Not tainted 5.0.0+ #60
Hardware name: 9000/785/C3750
Backtrace:
[<101593a4>] show_stack+0x3c/0x4c
[<107494a8>] dump_stack+0x3c/0x4c
[<1015953c>] die_if_kernel+0x16c/0x2ac
[<1015a16c>] handle_interruption+0x91c/0x960
[<10459adc>] superio_init+0x2a8/0x508
[<10451e1c>] pci_do_fixups+0x12c/0x208
[<101165d4>] 0x101165d4
[<10156184>] do_one_initcall+0xa0/0x1d8
[<101014dc>] 0x101014dc
[<10762fd8>] kernel_init+0x20/0x1a0
[<1015e01c>] ret_from_kernel_thread+0x1c/0x24
---[ end trace 7170ce927b5084fc ]---
Regards
Sven
--
Using F_EXTEND doesn't work here as it casts hpa to long,
which is 32 bit on parisc32, while dest_iosapic_addr is 64 bit.
Fix this by doing a cast to long on dest_iosapic_addr.
Fixes: 97d7e2e3fd8a ("parisc: Use F_EXTEND() macro in iosapic code")
Signed-off-by: Sven Schnelle <svens@stackframe.org>
---
drivers/parisc/iosapic.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c
index 1be571c20062..1b0c3139d971 100644
--- a/drivers/parisc/iosapic.c
+++ b/drivers/parisc/iosapic.c
@@ -158,7 +158,7 @@
#endif
#define COMPARE_IRTE_ADDR(irte, hpa) \
- ((irte)->dest_iosapic_addr == F_EXTEND(hpa))
+ ((long)(irte)->dest_iosapic_addr == F_EXTEND(hpa))
#define IOSAPIC_REG_SELECT 0x00
#define IOSAPIC_REG_WINDOW 0x10
--
2.20.1
next reply other threads:[~2019-03-18 15:08 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-18 14:13 Sven Schnelle [this message]
2019-03-18 15:32 ` [PATCH] parisc: fix iosapic address compare John David Anglin
2019-03-18 22:03 ` Helge Deller
2019-03-19 6:05 ` Sven Schnelle
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=20190318141301.14750-1-svens@stackframe.org \
--to=svens@stackframe.org \
--cc=deller@gmx.de \
--cc=linux-parisc@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.