Commit 94bbc176 authored by Bernhard R Link's avatar Bernhard R Link Committed by David S. Miller

[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: default avatarBernhard R Link <brlink@debian.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7705a879
...@@ -694,7 +694,7 @@ irqreturn_t sparc_floppy_irq(int irq, void *dev_cookie, struct pt_regs *regs) ...@@ -694,7 +694,7 @@ irqreturn_t sparc_floppy_irq(int irq, void *dev_cookie, struct pt_regs *regs)
val = readb(auxio_register); val = readb(auxio_register);
val |= AUXIO_AUX1_FTCNT; val |= AUXIO_AUX1_FTCNT;
writeb(val, auxio_register); writeb(val, auxio_register);
val &= AUXIO_AUX1_FTCNT; val &= ~AUXIO_AUX1_FTCNT;
writeb(val, auxio_register); writeb(val, auxio_register);
doing_pdma = 0; doing_pdma = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment