public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* flash status after unlocking
@ 2005-08-24 10:06 Dmitry Krivoschokov
  2005-08-26 14:26 ` Nicolas Pitre
  0 siblings, 1 reply; 2+ messages in thread
From: Dmitry Krivoschokov @ 2005-08-24 10:06 UTC (permalink / raw)
  To: linux-mtd

    Hi all,

it appears that cfi flash unlocking routines always leaves a flash chip 
in status mode (if CONFIG_MTD_XIP is not set).
But in some cases it is desired that the chip remains in read array 
mode, for linear cramfs at least.
So I've added code to put a chip in read array mode after unlocking, see 
patch below (the patch against 2.4 kernel, sorry), tested on OMAP1610. 
The patch is for Intel's command set only,  though it is easy to add the 
fix to others.
If  no complaints for the fix I can test it with the latest kernel and 
submit a patch.

    Thanks,
       Dmitry

diff -upr linux-2.4.orig/drivers/mtd/chips/cfi_cmdset_0001.c 
linux-2.4/drivers/mtd/chips/cfi_cmdset_0001.c
--- linux-2.4.orig/drivers/mtd/chips/cfi_cmdset_0001.c  2005-04-06 
03:01:44.000000000 +0400
+++ linux-2.4/drivers/mtd/chips/cfi_cmdset_0001.c       2005-08-23 
15:31:31.000000000 +0400
@@ -1920,6 +1920,13 @@ static int __xipram do_xxlock_oneblock(s
        /* Done and happy. */
        chip->state = FL_STATUS;
        xip_enable(map, chip, adr);
+
+#ifndef CONFIG_MTD_XIP
+       if (chip->state != FL_POINT && chip->state != FL_READY) {
+               map_write(map, CMD(0xff), adr);
+               chip->state = FL_READY;
+       }
+#endif
        put_chip(map, chip, adr);
        spin_unlock(chip->mutex);
        return 0;

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

end of thread, other threads:[~2005-08-26 14:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-08-24 10:06 flash status after unlocking Dmitry Krivoschokov
2005-08-26 14:26 ` Nicolas Pitre

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