| Line 375... |
Line 375... |
| 375 |
uint32_t checkempty)
|
375 |
uint32_t checkempty)
|
| 376 |
{
|
376 |
{
|
| 377 |
uint8_t* data = (uint8_t*)databuffer;
|
377 |
uint8_t* data = (uint8_t*)databuffer;
|
| 378 |
uint8_t* spare = nand_spare;
|
378 |
uint8_t* spare = nand_spare;
|
| 379 |
if (sparebuffer) spare = (uint8_t*)sparebuffer;
|
379 |
if (sparebuffer) spare = (uint8_t*)sparebuffer;
|
| 380 |
if ((uint32_t)databuffer & 0xf)
|
380 |
if ((uint32_t)databuffer & (CACHEALIGN_SIZE - 1))
|
| 381 |
panicf(PANIC_KILLUSERTHREADS,
|
381 |
panicf(PANIC_KILLUSERTHREADS,
|
| 382 |
"nand_read_page: Misaligned data buffer at %08X (bank %lu, page %lu)",
|
382 |
"nand_read_page: Misaligned data buffer at %08X (bank %lu, page %lu)",
|
| 383 |
(unsigned int)databuffer, bank, page);
|
383 |
(unsigned int)databuffer, bank, page);
|
| 384 |
if ((uint32_t)sparebuffer & 0xf)
|
384 |
if ((uint32_t)sparebuffer & (CACHEALIGN_SIZE - 1))
|
| 385 |
panicf(PANIC_KILLUSERTHREADS,
|
385 |
panicf(PANIC_KILLUSERTHREADS,
|
| 386 |
"nand_read_page: Misaligned spare buffer at %08X (bank %lu, page %lu)",
|
386 |
"nand_read_page: Misaligned spare buffer at %08X (bank %lu, page %lu)",
|
| 387 |
(unsigned int)sparebuffer, bank, page);
|
387 |
(unsigned int)sparebuffer, bank, page);
|
| 388 |
mutex_lock(&nand_mtx, TIMEOUT_BLOCK);
|
388 |
mutex_lock(&nand_mtx, TIMEOUT_BLOCK);
|
| 389 |
nand_last_activity_value = USEC_TIMER;
|
389 |
nand_last_activity_value = USEC_TIMER;
|