HomeFreeBSD

MFC r321207:

Description

MFC r321207:


r321207 | ken | 2017-07-19 09:39:01 -0600 (Wed, 19 Jul 2017) | 14 lines

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
Sponsored by: Spectra Logic

Details

Provenance
kenAuthored on
Reviewer
slm
Parents
rS321415: MFC r321207:
Branches
Unknown
Tags
Unknown