phb3: Handle fence in phb3_pci_msi_check_q to fix hang
phb3: Handle fence in phb3_pci_msi_check_q to fix hang

If the PHB is fenced during phb3_pci_msi_check_q, it can get stuck in an
infinite loop waiting to lock the FFI. Further, as the phb lock is held
during this function it will prevent any other CPUs from dealing with
the fence, leading to the entire system hanging.

If the PHB_FFI_LOCK returns all Fs, return immediately to allow the
fence to be dealt with.

Signed-off-by: Ian Munsie <2796b2a6f60f1cdadaf10e577f7c9240e2ad3d38@au1.ibm.com>
Signed-off-by: Stewart Smith <ec31ab75ddf977353c8f660f92ea8b23f64aef25@linux.vnet.ibm.com>

qemu/skiboot,shenki/skiboot,legoater/skiboot,mikey/skiboot,stewart-ibm/skiboot,qemu/skiboot,open-power/skiboot,open-power/skiboot,csmart/skiboot,qemu/skiboot,shenki/skiboot,mikey/skiboot,open-power/skiboot,shenki/skiboot,legoater/skiboot,shenki/skiboot,legoater/skiboot,qemu/skiboot,legoater/skiboot,mikey/skiboot,open-power/skiboot,qemu/skiboot,stewart-ibm/skiboot,csmart/skiboot,legoater/skiboot,csmart/skiboot,apopple/skiboot,open-power/skiboot,apopple/skiboot,apopple/skiboot,stewart-ibm/skiboot,shenki/skiboot