A 2us delay is too small for the bus to settle after writing to the register. Extend to 10us which gives more reliable results. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> --- drivers/input/serio/sa1111ps2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/input/serio/sa1111ps2.c b/drivers/input/serio/sa1111ps2.c index f1c036260d25..f9e5c793f4f0 100644 --- a/drivers/input/serio/sa1111ps2.c +++ b/drivers/input/serio/sa1111ps2.c @@ -212,7 +212,7 @@ static unsigned int ps2_test_one(struct ps2if *ps2if, writel_relaxed(PS2CR_ENA | mask, ps2if->base + PS2CR); - udelay(2); + udelay(10); val = readl_relaxed(ps2if->base + PS2STAT); return val & (PS2STAT_KBC | PS2STAT_KBD); -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html