From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gateway.prograde.net ([66.92.163.78] helo=sol.prograde.net) by canuck.infradead.org with esmtp (Exim 4.72 #1 (Red Hat Linux)) id 1PnZYz-0006HG-DV for linux-mtd@lists.infradead.org; Thu, 10 Feb 2011 16:40:14 +0000 Subject: Re: Numonyx NOR and chip->mutex bug? Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: text/plain; charset=us-ascii From: Michael Cashwell In-Reply-To: Date: Thu, 10 Feb 2011 11:41:23 -0500 Content-Transfer-Encoding: quoted-printable Message-Id: <97165996-D766-468D-AB90-974E29ABCFB7@prograde.net> References: <16826B66-31FE-41AD-A6EF-E668A45AF1FE@prograde.net> <4D4BDD48.6040600@keymile.com> <541E19B8-D428-4F59-B6BB-A3BD8F455AE4@prograde.net> <0488D3BA-7BA3-4E98-B289-3F3D1DB485D4@prograde.net> <85661EDC-9882-41B1-A926-0A88EF1CEF2E@prograde.net> To: Joakim Tjernlund Cc: linux-mtd@lists.infradead.org, stefan.bigler@keymile.com, Holger brunck , =?iso-8859-1?Q?Anders_Grafstr=F6m?= List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Feb 10, 2011, at 11:05 AM, Joakim Tjernlund wrote: > Michael Cashwell wrote on 2011/02/10 16:59:50: >>=20 >>> A simpler impl. would be a suspend counter. When no. of suspends > = 1000, do usleep(500) or usleep(500) every 100-500 suspends. >>=20 >> Our messages crossed each other. I just saw this problem with 29 = suspends. >>=20 >> I wonder if THAT is what's different between these chips and the = older 130nm parts. And none of that addresses whether or not this change = is just an anomaly in this batch or if we would continue to get them. >>=20 >> I'm going to run my test on the older 130nm (2003 vintage) parts just = for grins. >=20 > Here is another idea, don't resume between every write_buffer etc. If = less than 500 us has passed, just continue with the next write_buffer. = That would be much more efficient. Wouldn't that extend the wrong time. That would ensure the erase stays = *suspended* for at least 500us. But doesn't W602 specify that an erase = should be allowed *to run* for 500us before suspension? It seems the other way around. -Mike