Regression of mtd/chips/jedec_probe.c in 2.6.0-test7
Thayne Harbaugh
tharbaugh at lnxi.com
Wed Oct 22 18:51:08 EDT 2003
On Wed, 2003-10-22 at 16:33, Christopher Hoover wrote:
> > If you can narrow the problem down to just a few lines that
> > are obviously incorrect then the patch should have a fighting
> > chance.
>
> Here's what I tried:
>
> --- linux-2.6.0-test8-rmk1/drivers/mtd/chips/jedec_probe.c 2003-10-20
> 22:19:24.000000000 -0700
> +++ linux-2.6.0-test8-rmk1-ceiva1/drivers/mtd/chips/jedec_probe.c
> 2003-10-22 15:24:55.000000000 -0700
> @@ -1481,7 +1481,7 @@
> DEBUG( MTD_DEBUG_LEVEL3,
> "MTD %s(): Check fit 0x%.8x + 0x%.8x = 0x%.8x\n",
> __func__, base, 1 << finfo->DevSize, base + (1 <<
> finfo->DevSize) );
> - if ( base + ( 1 << finfo->DevSize ) > map->size ) {
> + if ( base + cfi->interleave * ( 1 << finfo->DevSize ) > map->size )
> {
> DEBUG( MTD_DEBUG_LEVEL3,
> "MTD %s(): 0x%.4x 0x%.4x %dKiB doesn't fit\n",
> __func__, finfo->mfr_id, finfo->dev_id,
This is needed.
> @@ -1539,10 +1539,10 @@
> */
> DEBUG( MTD_DEBUG_LEVEL3, "MTD %s(): return to ID mode\n", __func__
> );
> if(cfi->addr_unlock1) {
> - cfi_send_gen_cmd(0xaa, cfi->addr_unlock1, base, map, cfi,
> CFI_DEVICETYPE_X8, NULL);
> - cfi_send_gen_cmd(0x55, cfi->addr_unlock2, base, map, cfi,
> CFI_DEVICETYPE_X8, NULL);
> + cfi_send_gen_cmd(0xaa, cfi->addr_unlock1, base, map, cfi,
> cfi->device_type, NULL);
> + cfi_send_gen_cmd(0x55, cfi->addr_unlock2, base, map, cfi,
> cfi->device_type, NULL);
> }
> - cfi_send_gen_cmd(0x90, cfi->addr_unlock1, base, map, cfi,
> CFI_DEVICETYPE_X8, NULL);
> + cfi_send_gen_cmd(0x90, cfi->addr_unlock1, base, map, cfi,
> cfi->device_type, NULL);
> /* FIXME - should have a delay before continuing */
>
> match_done:
There's one more fragment where cfi->device_type should revert back to
CFI_DEVICETYPE_X8
@@ -1674,10 +1674,10 @@
/* Autoselect Mode */
if(cfi->addr_unlock1) {
- cfi_send_gen_cmd(0xaa, cfi->addr_unlock1, base, map, cfi,
cfi->device_type, NULL);
- cfi_send_gen_cmd(0x55, cfi->addr_unlock2, base, map, cfi,
cfi->device_type, NULL);
+ cfi_send_gen_cmd(0xaa, cfi->addr_unlock1, base, map, cfi,
CFI_DEVICETYPE_X8, NULL);
+ cfi_send_gen_cmd(0x55, cfi->addr_unlock2, base, map, cfi,
CFI_DEVICETYPE_X8, NULL);
}
- cfi_send_gen_cmd(0x90, cfi->addr_unlock1, base, map, cfi,
cfi->device_type, NULL);
+ cfi_send_gen_cmd(0x90, cfi->addr_unlock1, base, map, cfi,
CFI_DEVICETYPE_X8, NULL);
/* FIXME - should have a delay before continuing */
if (!cfi->numchips) {
Let me know if this fixes it.
--
Thayne Harbaugh
Linux Networx
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.infradead.org/pipermail/linux-mtd/attachments/20031022/c7758da9/attachment.bin
More information about the linux-mtd
mailing list