freebsd-dev/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 Add tri-mode support (SAS/SATA/PCIe). 2017-05-17 21:33:37 +00:00
mpr_config.c Add tri-mode support (SAS/SATA/PCIe). 2017-05-17 21:33:37 +00:00
mpr_ioctl.h Several style changes and add copyrights for 2016. 2016-05-09 16:16:00 +00:00
mpr_mapping.c Fix several problems with mapping code. 2017-05-25 19:20:06 +00:00
mpr_mapping.h Add tri-mode support (SAS/SATA/PCIe). 2017-05-17 21:33:37 +00:00
mpr_pci.c Add tri-mode support (SAS/SATA/PCIe). 2017-05-17 21:33:37 +00:00
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 Add tri-mode support (SAS/SATA/PCIe). 2017-05-17 21:33:37 +00:00
mpr_table.c Add tri-mode support (SAS/SATA/PCIe). 2017-05-17 21:33:37 +00:00
mpr_table.h Add tri-mode support (SAS/SATA/PCIe). 2017-05-17 21:33:37 +00:00
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