Commit bbcd80f
committed
mtd: rawnand: Prevent crossing LUN boundaries during sequential reads
The ONFI specification states that devices do not need to support
sequential reads across LUN boundaries. In order to prevent such event
from happening and possibly failing, let's introduce the concept of
"pause" in the sequential read to handle these cases. The first/last
pages remain the same but any time we cross a LUN boundary we will end
and restart (if relevant) the sequential read operation.
Cc: stable@vger.kernel.org
Fixes: 003fe4b ("mtd: rawnand: Support for sequential cache reads")
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Tested-by: Martin Hundebøll <martin@geanix.com>
Link: https://lore.kernel.org/linux-mtd/20231215123208.516590-2-miquel.raynal@bootlin.com1 parent a43bdc3 commit bbcd80f
2 files changed
Lines changed: 39 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1207 | 1207 | | |
1208 | 1208 | | |
1209 | 1209 | | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
1210 | 1227 | | |
1211 | 1228 | | |
1212 | 1229 | | |
| |||
1225 | 1242 | | |
1226 | 1243 | | |
1227 | 1244 | | |
1228 | | - | |
| 1245 | + | |
1229 | 1246 | | |
1230 | 1247 | | |
1231 | 1248 | | |
| |||
1262 | 1279 | | |
1263 | 1280 | | |
1264 | 1281 | | |
1265 | | - | |
| 1282 | + | |
1266 | 1283 | | |
1267 | | - | |
| 1284 | + | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
| 1288 | + | |
| 1289 | + | |
| 1290 | + | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
1268 | 1300 | | |
1269 | 1301 | | |
1270 | 1302 | | |
1271 | 1303 | | |
1272 | | - | |
1273 | | - | |
1274 | | - | |
| 1304 | + | |
1275 | 1305 | | |
1276 | 1306 | | |
1277 | 1307 | | |
| |||
3445 | 3475 | | |
3446 | 3476 | | |
3447 | 3477 | | |
| 3478 | + | |
3448 | 3479 | | |
3449 | 3480 | | |
3450 | 3481 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1265 | 1265 | | |
1266 | 1266 | | |
1267 | 1267 | | |
| 1268 | + | |
1268 | 1269 | | |
1269 | 1270 | | |
1270 | 1271 | | |
| |||
1321 | 1322 | | |
1322 | 1323 | | |
1323 | 1324 | | |
| 1325 | + | |
1324 | 1326 | | |
1325 | 1327 | | |
1326 | 1328 | | |
| |||
0 commit comments