Fujitsu MBM29LV800BA not recognized because of unlock_addrs mismatch
Armin Schindler
armin.schindler at sysgo.com
Thu Aug 4 08:32:47 EDT 2005
Hi all,
current MTD jedec_probe/jedec_match does not find a match for
MBM29LV800BA, because the unlock_addrs does not match.
The jedec_table[] holds the correct values, but the function
finfo_uaddr() returns the wrong values -> no match.
In finfo_uaddr() the code is
...
uaddr = finfo->uaddr[uaddr_idx];
if (finfo->uaddr[0] == MTD_UADDR_NOT_SUPPORTED ) {
/* ASSERT("The unlock addresses for non-8-bit mode
are bollocks. We don't really need an array."); */
uaddr = finfo->uaddr[0];
}
...
when I remove the 'if', it works perfectly for MBM29LV800BA !
I do not know in which case this if really does make sense, but
at least for MBM29LV800BA the function finfo_uaddr() returns always
finfo->uaddr[0] which is the wrong in 16bit mode.
Removing this 'if' is probably wrong, because someone must have had a
reason for it, but it is definatly not correct in each case.
What do you think?
regards,
Armin
--
Armin Schindler <armin.schindler AT sysgo.com>
SYSGO AG Embedded and Real-Time Software
www.sysgo.com | www.elinos.com | www.pikeos.com | www.osek.de
More information about the linux-mtd
mailing list