写flash驱动时遇到如下问题:
Buffer I/O error on device mtdblock
end_request: I/O error, dev mtdblock8
百度过,有不少答案,但是最终发现是自己驱动代码问题,再次记录下供有需要的coder查阅。
int (*write) (struct mtd_info *mtd, loff_t to, size_t len, size_t *retlen, const u_char *buf);
函数中*retlen没有赋值。
到底是*retlen值不等于len导致上述打印,还是*retlen随机到某个值才导致上述打印呢?有空再分析吧。
本文详细记录了在编写Flash驱动时遇到的BufferI/O错误问题,特别是关于end_request函数中*retlen赋值的问题。通过分析,发现正确的*retlen赋值对于避免错误打印至关重要。
1万+

被折叠的 条评论
为什么被折叠?



