psm(4): Add sanity checks to Synaptics touchpad driver resolution parser.

This fixes "Kernel has only x or y resolution, not both" libinput error.

Reported by:	Ivan <bsd@abinet.ru>
Tested by:	Ivan <bsd@abinet.ru>
Approved by:	gonzo (mentor)
MFC after:	2 weeks
This commit is contained in:
wulf 2017-10-19 21:07:28 +00:00
parent 1437e049ee
commit c776fcd4e1

View File

@ -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");