freebsd-nq/sys/dev/mps
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 sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
mps_config.c - No log bit in IOCStatus and endian-safe changes. 2016-06-20 18:14:51 +00:00
mps_ioctl.h
mps_mapping.c Fix several problems with mapping code. 2017-05-25 19:14:44 +00:00
mps_mapping.h sys/dev: minor spelling fixes. 2016-05-03 03:41:25 +00:00
mps_pci.c
mps_sas_lsi.c Fix several problems with mapping code. 2017-05-25 19:14:44 +00:00
mps_sas.c Fix several problems with mapping code. 2017-05-25 19:14:44 +00:00
mps_sas.h
mps_table.c Rework the debug print API. Event printing no longer gets special handling. 2017-01-19 21:47:50 +00:00
mps_table.h Rework the debug print API. Event printing no longer gets special handling. 2017-01-19 21:47:50 +00:00
mps_user.c Fix several problems with mapping code. 2017-05-25 19:14:44 +00:00
mps.c Fix spurious timeouts on commands sent to mps(4) and mpr(4) controllers. 2017-07-19 15:39:01 +00:00
mpsvar.h Fix several problems with mapping code. 2017-05-25 19:14:44 +00:00