diff options
-rw-r--r-- | drivers/input/mouse/pc110pad.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/input/mouse/pc110pad.c b/drivers/input/mouse/pc110pad.c index 8991ab0b4fe3..61cff8374e6c 100644 --- a/drivers/input/mouse/pc110pad.c +++ b/drivers/input/mouse/pc110pad.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/init.h> | 39 | #include <linux/init.h> |
40 | #include <linux/interrupt.h> | 40 | #include <linux/interrupt.h> |
41 | #include <linux/pci.h> | 41 | #include <linux/pci.h> |
42 | #include <linux/delay.h> | ||
42 | 43 | ||
43 | #include <asm/io.h> | 44 | #include <asm/io.h> |
44 | #include <asm/irq.h> | 45 | #include <asm/irq.h> |
@@ -62,8 +63,10 @@ static irqreturn_t pc110pad_interrupt(int irq, void *ptr) | |||
62 | int value = inb_p(pc110pad_io); | 63 | int value = inb_p(pc110pad_io); |
63 | int handshake = inb_p(pc110pad_io + 2); | 64 | int handshake = inb_p(pc110pad_io + 2); |
64 | 65 | ||
65 | outb_p(handshake | 1, pc110pad_io + 2); | 66 | outb(handshake | 1, pc110pad_io + 2); |
66 | outb_p(handshake & ~1, pc110pad_io + 2); | 67 | udelay(2); |
68 | outb(handshake & ~1, pc110pad_io + 2); | ||
69 | udelay(2); | ||
67 | inb_p(0x64); | 70 | inb_p(0x64); |
68 | 71 | ||
69 | pc110pad_data[pc110pad_count++] = value; | 72 | pc110pad_data[pc110pad_count++] = value; |