freebsd-nq/sys/dev/mpr
Kenneth D. Merry 417aa6b850 Fix spurious timeouts on commands sent to mps(4) and mpr(4) controllers.
mps_wait_command() and mpr_wait_command() were using getmicrotime() to
determine elapsed time when checking for a timeout in polled mode.
getmicrotime() isn't guaranteed to monotonically increase, and that
caused spurious timeouts occasionally.

Switch to using getmicrouptime(), which does increase monotonically.
This fixes the spurious timeouts in my test case.

Reviewed by:	slm, scottl
MFC after:	3 days
Sponsored by:	Spectra Logic
2017-07-19 15:39:01 +00:00
..
mpi
mpr_config.c
mpr_ioctl.h
mpr_mapping.c Fix several problems with mapping code. 2017-05-25 19:20:06 +00:00
mpr_mapping.h
mpr_pci.c
mpr_sas_lsi.c Fix several problems with mapping code. 2017-05-25 19:20:06 +00:00
mpr_sas.c Fix several problems with mapping code. 2017-05-25 19:20:06 +00:00
mpr_sas.h
mpr_table.c
mpr_table.h
mpr_user.c Fix several problems with mapping code. 2017-05-25 19:20:06 +00:00
mpr.c Fix spurious timeouts on commands sent to mps(4) and mpr(4) controllers. 2017-07-19 15:39:01 +00:00
mprvar.h Fix several problems with mapping code. 2017-05-25 19:20:06 +00:00