1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-11 14:10:34 +00:00

Reset the PSM aux device twice to help pierce through some KVM's to

get the correct data from the attached mouse. Multiple resets should
be harmless, but just in case, the second one is non-fatal and is just
ignored.
This commit is contained in:
Mike Heffner 2003-07-07 05:40:13 +00:00
parent ace6720e77
commit b1181a94a3
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=117302
2 changed files with 18 additions and 0 deletions

View File

@ -1040,6 +1040,10 @@ psmprobe(device_t dev)
/*
* NOTE: some controllers appears to hang the `keyboard' when the aux
* port doesn't exist and `PSMC_RESET_DEV' is issued.
*
* Attempt to reset the controller twice -- this helps
* pierce through some KVM switches. The second reset
* is non-fatal.
*/
if (!reset_aux_dev(sc->kbdc)) {
recover_from_error(sc->kbdc);
@ -1047,6 +1051,11 @@ psmprobe(device_t dev)
if (verbose)
printf("psm%d: failed to reset the aux device.\n", unit);
endprobe(ENXIO);
} else if (!reset_aux_dev(sc->kbdc)) {
recover_from_error(sc->kbdc);
if (verbose >= 2)
printf("psm%d: failed to reset the aux device (2).\n",
unit);
}
}

View File

@ -1040,6 +1040,10 @@ psmprobe(device_t dev)
/*
* NOTE: some controllers appears to hang the `keyboard' when the aux
* port doesn't exist and `PSMC_RESET_DEV' is issued.
*
* Attempt to reset the controller twice -- this helps
* pierce through some KVM switches. The second reset
* is non-fatal.
*/
if (!reset_aux_dev(sc->kbdc)) {
recover_from_error(sc->kbdc);
@ -1047,6 +1051,11 @@ psmprobe(device_t dev)
if (verbose)
printf("psm%d: failed to reset the aux device.\n", unit);
endprobe(ENXIO);
} else if (!reset_aux_dev(sc->kbdc)) {
recover_from_error(sc->kbdc);
if (verbose >= 2)
printf("psm%d: failed to reset the aux device (2).\n",
unit);
}
}