i40e/base: catch NVM write semaphore timeout and retry
authorHelin Zhang <helin.zhang@intel.com>
Thu, 30 Apr 2015 15:03:16 +0000 (23:03 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 15 May 2015 14:33:15 +0000 (16:33 +0200)
commit3b7271f3958a75210c190bd9776034ab477d719f
treec5efb98b6ab69ad8c2b06c0ea6eab7ddfecd2024
parenta8ac0bae54aee6e982a8755943c12bd8cb8f2ba1
i40e/base: catch NVM write semaphore timeout and retry

In some circumstances, a multi-write transaction takes longer than
the default 3 minutes timeout on the write semaphore. If the write
failed with an EBUSY status, this is likely the problem. So here
it tries to reacquire the semaphore and then retry the write.

Test report: http://www.dpdk.org/ml/archives/dev/2015-May/017384.html

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jijiang Liu <jijiang.liu@intel.com>
Tested-by: Min Cao <min.cao@intel.com>
lib/librte_pmd_i40e/i40e/i40e_nvm.c