--- zzzz-none-000/linux-2.6.32.61/include/linux/mtd/cfi.h 2013-06-10 09:43:48.000000000 +0000 +++ ar10-7272-687/linux-2.6.32.61/include/linux/mtd/cfi.h 2011-08-24 08:26:02.000000000 +0000 @@ -450,16 +450,16 @@ val = cfi_build_cmd(cmd, map, cfi); if (prev_val) - *prev_val = map_read(map, addr); + *prev_val = map_cmd_read(map, addr); - map_write(map, val, addr); + map_cmd_write(map, val, addr); return addr - base; } static inline uint8_t cfi_read_query(struct map_info *map, uint32_t addr) { - map_word val = map_read(map, addr); + map_word val = map_cmd_read(map, addr); if (map_bankwidth_is_1(map)) { return val.x[0]; @@ -475,7 +475,7 @@ static inline uint16_t cfi_read_query16(struct map_info *map, uint32_t addr) { - map_word val = map_read(map, addr); + map_word val = map_cmd_read(map, addr); if (map_bankwidth_is_1(map)) { return val.x[0] & 0xff; @@ -489,8 +489,14 @@ } } + +extern unsigned int tffs_panic_mode; static inline void cfi_udelay(int us) { + if(tffs_panic_mode) { + udelay(us); + return; + } if (us >= 1000) { msleep((us+999)/1000); } else {