diff --git a/sys/dev/atkbdc/psm.c b/sys/dev/atkbdc/psm.c index c077a68190e..608e4c58f0f 100644 --- a/sys/dev/atkbdc/psm.c +++ b/sys/dev/atkbdc/psm.c @@ -6094,8 +6094,10 @@ enable_synaptics(struct psm_softc *sc, enum probearg arg) if (get_mouse_status(kbdc, status, 0, 3) != 3) return (FALSE); - synhw.infoXupmm = status[0]; - synhw.infoYupmm = status[2]; + if (status[0] != 0 && (status[1] & 0x80) && status[2] != 0) { + synhw.infoXupmm = status[0]; + synhw.infoYupmm = status[2]; + } if (verbose >= 2) { printf(" Extended capabilities:\n");