diff --git a/target/linux/ar71xx/patches-4.9/403-mtd_fix_cfi_cmdset_0002_status_check.patch b/target/linux/ar71xx/patches-4.9/403-mtd_fix_cfi_cmdset_0002_status_check.patch index 635e13d5ce..7f1f6ae0a3 100644 --- a/target/linux/ar71xx/patches-4.9/403-mtd_fix_cfi_cmdset_0002_status_check.patch +++ b/target/linux/ar71xx/patches-4.9/403-mtd_fix_cfi_cmdset_0002_status_check.patch @@ -1,26 +1,24 @@ --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -1631,8 +1631,8 @@ static int __xipram do_write_oneword(str - break; +@@ -1637,7 +1637,7 @@ static int __xipram do_write_oneword(str } -- if (chip_ready(map, adr)) + if (chip_good(map, adr, datum)) - break; -+ if (chip_good(map, adr, datum)) + goto enable_xip; /* Latency issues. Drop the lock, wait a while and retry */ UDELAY(map, chip, adr, 1); -@@ -1648,6 +1648,8 @@ static int __xipram do_write_oneword(str - - ret = -EIO; +@@ -1654,6 +1654,8 @@ static int __xipram do_write_oneword(str + goto retry; + } } + + enable_xip: xip_enable(map, chip, adr); op_done: if (mode == FL_OTP_WRITE) -@@ -2226,7 +2228,6 @@ static int cfi_amdstd_panic_write(struct +@@ -2232,7 +2234,6 @@ static int cfi_amdstd_panic_write(struct return 0; } @@ -28,7 +26,7 @@ /* * Handle devices with one erase region, that only implement * the chip erase command. -@@ -2294,7 +2295,7 @@ static int __xipram do_erase_chip(struct +@@ -2300,7 +2301,7 @@ static int __xipram do_erase_chip(struct } if (chip_good(map, adr, map_word_ff(map))) @@ -37,7 +35,7 @@ if (time_after(jiffies, timeo)) { printk(KERN_WARNING "MTD %s(): software timeout\n", -@@ -2318,6 +2319,7 @@ static int __xipram do_erase_chip(struct +@@ -2324,6 +2325,7 @@ static int __xipram do_erase_chip(struct } } @@ -45,7 +43,7 @@ chip->state = FL_READY; xip_enable(map, chip, adr); DISABLE_VPP(map); -@@ -2391,7 +2393,7 @@ static int __xipram do_erase_oneblock(st +@@ -2397,7 +2399,7 @@ static int __xipram do_erase_oneblock(st if (chip_good(map, adr, map_word_ff(map))) { xip_enable(map, chip, adr); @@ -54,7 +52,7 @@ } if (time_after(jiffies, timeo)) { -@@ -2417,6 +2419,7 @@ static int __xipram do_erase_oneblock(st +@@ -2423,6 +2425,7 @@ static int __xipram do_erase_oneblock(st } }