+ /* Do some programming, but not in the first block */
+
+ if(addr){
+ for(offset = 0; offset <meminfo.erasesize; offset+=512)
+ {
+ if(read(img,imgpage,528) == 528){
+ if (usemtdecc) {
+ imgpage[512+8] = 0xff;
+ imgpage[512+9] = 0xff;
+ imgpage[512+10] = 0xff;
+ imgpage[512+13] = 0xff;
+ imgpage[512+14] = 0xff;
+ imgpage[512+15] = 0xff;
+ }
+ oob.start = addr+offset;
+ oob.length=16;
+ oob.ptr=&imgpage[512];
+ ioctl(fd,MEMWRITEOOB,&oob);
+
+ lseek(fd,addr+offset,SEEK_SET);
+ write(fd,imgpage,512);
+ }
+ }
+ }
+