powerpc/pseries/eeh: Handle RTAS delay requests in configure_bridge
authorRussell Currey <ruscur@russell.cc>
Thu, 7 Apr 2016 06:28:26 +0000 (16:28 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 30 May 2016 03:50:04 +0000 (13:50 +1000)
commit871e178e0f2c4fa788f694721a10b4758d494ce1
tree145f7bf6050855419da5b9402dbcfa6fdfaea3a3
parent1a695a905c18548062509178b98bc91e67510864
powerpc/pseries/eeh: Handle RTAS delay requests in configure_bridge

In the "ibm,configure-pe" and "ibm,configure-bridge" RTAS calls, the
spec states that values of 9900-9905 can be returned, indicating that
software should delay for 10^x (where x is the last digit, i.e. 990x)
milliseconds and attempt the call again. Currently, the kernel doesn't
know about this, and respecting it fixes some PCI failures when the
hypervisor is busy.

The delay is capped at 0.2 seconds.

Cc: <stable@vger.kernel.org> # 3.10+
Signed-off-by: Russell Currey <ruscur@russell.cc>
Acked-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/pseries/eeh_pseries.c