diff options
author | Bernhard R Link <brlink@debian.org> | 2006-03-10 04:23:13 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:10:34 -0500 |
commit | 94bbc1763b6b6d20d5cfa70c41cda23af27f8b55 (patch) | |
tree | 153f28fcc087fba199536b95e3faf8eacb878829 /arch | |
parent | 7705a8792b0fc82fd7d4dd923724606bbfd9fb20 (diff) |
[SPARC64]: fix sparc_floppy_irq's auxio_register reseting
The patch "[SPARC64]: Get rid of fast IRQ feature"
moved the the code from arch/sparc64/kernel/entry.S:
lduba [%g7] ASI_PHYS_BYPASS_EC_E, %g5
or %g5, AUXIO_AUX1_FTCNT, %g5
stba %g5, [%g7] ASI_PHYS_BYPASS_EC_E
andn %g5, AUXIO_AUX1_FTCNT, %g5
stba %g5, [%g7] ASI_PHYS_BYPASS_EC_E
to arch/sparc64/kernel/irq.c:
val = readb(auxio_register);
val |= AUXIO_AUX1_FTCNT;
writeb(val, auxio_register);
val &= AUXIO_AUX1_FTCNT;
writeb(val, auxio_register);
This looks like it it missing a bitwise not, which is reintroduced
by this patch.
Due to lack of a floppy device, I could not test it, but it looks
evident.
Signed-off-by: Bernhard R Link <brlink@debian.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sparc64/kernel/irq.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c index 233526ba3abe..f7490ef629b9 100644 --- a/arch/sparc64/kernel/irq.c +++ b/arch/sparc64/kernel/irq.c | |||
@@ -694,7 +694,7 @@ irqreturn_t sparc_floppy_irq(int irq, void *dev_cookie, struct pt_regs *regs) | |||
694 | val = readb(auxio_register); | 694 | val = readb(auxio_register); |
695 | val |= AUXIO_AUX1_FTCNT; | 695 | val |= AUXIO_AUX1_FTCNT; |
696 | writeb(val, auxio_register); | 696 | writeb(val, auxio_register); |
697 | val &= AUXIO_AUX1_FTCNT; | 697 | val &= ~AUXIO_AUX1_FTCNT; |
698 | writeb(val, auxio_register); | 698 | writeb(val, auxio_register); |
699 | 699 | ||
700 | doing_pdma = 0; | 700 | doing_pdma = 0; |