public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* chip driver mar_ram.c never sets MTD_ERASE_DONE state
@ 2004-06-17 13:51 Oliver Kühlert
  2004-06-17 14:08 ` Thomas Gleixner
  2004-06-17 14:43 ` Ian Campbell
  0 siblings, 2 replies; 3+ messages in thread
From: Oliver Kühlert @ 2004-06-17 13:51 UTC (permalink / raw)
  To: linux-mtd; +Cc: mag, rof, acs



Hello,

trying to erase on an mtd devices using the map_ram.c driver
blocks the current process and never wakes up. (see mtdchar.c, ioctl func)

I believe, that this can be fixed by adding the marked line in map_ram.c:


static int mapram_erase (struct mtd_info *mtd, struct erase_info *instr)
{
         /* Yeah, it's inefficient. Who cares? It's faster than a _real_
            flash erase. */
         struct map_info *map = (struct map_info *)mtd->priv;
         unsigned long i;

         for (i=0; i<instr->len; i++)
                 map_write8(map, 0xFF, instr->addr + i);

!!!!!!---->   instr->state = MTD_ERASE_DONE;   <----- !!!!!!

         if (instr->callback)
                 instr->callback(instr);

         return 0;
}

Best regards, Oliver Kühlert


-- 
Dr. Oliver Kuehlert          SYSGO Real-Time Solutions AG
oliver.kuehlert@sysgo.com
Software Engineering     Embedded and Real-Time Software    www.sysgo.de
Voice: +49-6136-9948-0   Am Pfaffenstein 14                 www.osek.de
FAX:   +49-6136-9948-10  55270 Klein-Winternheim, Germany   www.elinos.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-06-17 14:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-17 13:51 chip driver mar_ram.c never sets MTD_ERASE_DONE state Oliver Kühlert
2004-06-17 14:08 ` Thomas Gleixner
2004-06-17 14:43 ` Ian Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox