rtas_sched_if_busy() has better behavior for RTAS_BUSY (-2) and small
extended delay values.

Signed-off-by: Nathan Lynch <nath...@linux.ibm.com>
---
 arch/powerpc/platforms/pseries/iommu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/platforms/pseries/iommu.c 
b/arch/powerpc/platforms/pseries/iommu.c
index 0c55b991f665..0f0e7a51b863 100644
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -1016,7 +1016,7 @@ static int create_ddw(struct pci_dev *dev, const u32 
*ddw_avail,
                ret = rtas_call(ddw_avail[DDW_CREATE_PE_DMA_WIN], 5, 4,
                                (u32 *)create, cfg_addr, BUID_HI(buid),
                                BUID_LO(buid), page_shift, window_shift);
-       } while (rtas_busy_delay(ret));
+       } while (rtas_sched_if_busy(ret));
        dev_info(&dev->dev,
                "ibm,create-pe-dma-window(%x) %x %x %x %x %x returned %d "
                "(liobn = 0x%x starting addr = %x %x)\n",
-- 
2.30.2

Reply via email to