s390/pci: add missing EX_TABLE entries to __pcistg_mio_inuser()/__pcilg_mio_inuser()
[platform/kernel/linux-rpi.git] / arch / s390 / pci / pci_mmio.c
index c5b35ea..b94163e 100644 (file)
@@ -63,7 +63,7 @@ static inline int __pcistg_mio_inuser(
        asm volatile (
                "       sacf    256\n"
                "0:     llgc    %[tmp],0(%[src])\n"
-               "       sllg    %[val],%[val],8\n"
+               "4:     sllg    %[val],%[val],8\n"
                "       aghi    %[src],1\n"
                "       ogr     %[val],%[tmp]\n"
                "       brctg   %[cnt],0b\n"
@@ -71,7 +71,7 @@ static inline int __pcistg_mio_inuser(
                "2:     ipm     %[cc]\n"
                "       srl     %[cc],28\n"
                "3:     sacf    768\n"
-               EX_TABLE(0b, 3b) EX_TABLE(1b, 3b) EX_TABLE(2b, 3b)
+               EX_TABLE(0b, 3b) EX_TABLE(4b, 3b) EX_TABLE(1b, 3b) EX_TABLE(2b, 3b)
                :
                [src] "+a" (src), [cnt] "+d" (cnt),
                [val] "+d" (val), [tmp] "=d" (tmp),
@@ -214,10 +214,10 @@ static inline int __pcilg_mio_inuser(
                "2:     ahi     %[shift],-8\n"
                "       srlg    %[tmp],%[val],0(%[shift])\n"
                "3:     stc     %[tmp],0(%[dst])\n"
-               "       aghi    %[dst],1\n"
+               "5:     aghi    %[dst],1\n"
                "       brctg   %[cnt],2b\n"
                "4:     sacf    768\n"
-               EX_TABLE(0b, 4b) EX_TABLE(1b, 4b) EX_TABLE(3b, 4b)
+               EX_TABLE(0b, 4b) EX_TABLE(1b, 4b) EX_TABLE(3b, 4b) EX_TABLE(5b, 4b)
                :
                [ioaddr_len] "+&d" (ioaddr_len.pair),
                [cc] "+d" (cc), [val] "=d" (val),