can't erase "sharp".

David Woodhouse dwmw2 at
Fri May 17 05:00:30 EDT 2002

takasi-y at said:
> I'm using drivers/mtd/chip/sharp.c (I know it's "obsolete", though).
> And, found "eraseall" command doesn't work upon it. The operation
> stops at 0%, and the command never exit.

> I added few lines(see the patch below), and it works, perhaps... I'm
> not sure if it is correct (especially when signals received).

> Could someone tell me the right answer, please?

The second part of your patch was the correct one -- setting instr->state 
to MTD_ERASE_DONE on completion. When the erase fails immediately, it's not 
required to set instr->state to MTD_ERASE_FAILED. That's only necessary if 
the chip driver does asynchronous operation, and returns from the erase 
function before the operation has completed.


More information about the linux-mtd mailing list