ipc: workarround for SCU bug to retry umip/smip cmd
authorBin Yang <bin.yang@intel.com>
Tue, 16 Aug 2011 03:43:55 +0000 (11:43 +0800)
committermgross <mark.gross@intel.com>
Wed, 9 Nov 2011 20:37:57 +0000 (12:37 -0800)
commit427c96d0f4aa92ca97633c177e345e90f5332695
tree436fd43539f2ed7823b4cc79c8508b0ad1a1810f
parenta3af598db60471693bef201763acb2b64e882689
ipc: workarround for SCU bug to retry umip/smip cmd

BZ: 6541

SCU is not a multi thread system. It has design limitation
to implement dekker's algorithm.
If IA is using eMMC, umip/smip command will be failed
immediately. But SCU does not cancel the mutex request.
Then, SCU will get the owner of this mutex after it is
released by IA. But SCU had completed umip/smip command,
and not aware of this owner change. So SCU will not release
the mutex and IA will lose the mutex later.

This patch is a workarround for this SCU limitation.
It keeps to send umip/smip command while it is failed.
When it is successful, SCU will release the mutex.

It should not be the final solution. SCU needs to fix
this issue in the future.

Change-Id: I87f5db6f558e37ba0e595cfe21835249c8e417f6
Signed-off-by: Bin Yang <bin.yang@intel.com>
drivers/platform/x86/intel_scu_ipc.c