cfi_cmdset_0001.c: do_write_buffer: wrong length

David Vrabel dvrabel at arcom.co.uk
Fri Dec 8 09:45:18 EST 2000


Hi,

In cfi_cmdset_0001.c do_write_buffer writes an incorrect length to the
chip

    cfi_write(map, CMD((len/(cfi->device_type*CFIDEV_INTERLEAVE))-1),
cmd_adr);

which with 1 x16 chip in x8 mode eg on the SBC-MediaGX (buswidth == 1;
interleave == 1; 
devicetype == 2) works out as

    cfi_write(map, CMD(len/2-1), cmd_adr); <-- Fails

When it should be

    cfi_write(map, CMD(len-1), cmd_adr); <-- Works

Should it it be?
    cfi_write(map, CMD(len/map->buswidth-1), cmd_adr);

David Vrabel



To unsubscribe, send "unsubscribe mtd" to majordomo at infradead.org



More information about the linux-mtd mailing list