Intel flash that powers up locked
Todd Poynor
tpoynor at mvista.com
Thu Jun 2 19:31:12 EDT 2005
Konstantin Kletschke wrote:
...
> However, this code Oopses in cfi_intelext_unlockall():
...
> Creating 5 MTD partitions on "scb9328_flash":
> 0x00000000-0x00020000 : "U-boot"
> 0x00020000-0x00040000 : "U-boot_env"
> mtd->numeraseregions 0
> rumms
> Unable to handle kernel NULL pointer dereference at virtual address 00000008
I'll hazard a guess that you're calling the function passing the
partition "slave" mtd structure instead of the "master" mtd structure
created at chip probe time (since you're passing the partition creation
stage instead of doing this at chip probe time). See the mtdpart.c code
for the mapping between the two kinds of structures, such as
part_unlock(), which passes the master structure. Only the master
structure has various fields properly filled out, especially things
determined by the chip driver, and numeraseregions doesn't seem to be
copied from master to slave after a quick glance.
If that's a bad guess then sorry for the misdirection. ;) Let us know
how you are calling the unlock function to take some of the guesswork
out of it.
--
Todd
More information about the linux-mtd
mailing list