D1(printk(KERN_DEBUG "jffs2_erase_block(): erase block %#x (range %#x-%#x)\n", jeb->offset, jeb->offset, jeb->offset + c->sector_size)); 
static void jffs2_erase_block(struct jffs2_sb_info *c,			      struct jffs2_eraseblock *jeb){	int ret;	uint32_t bad_offset;#ifdef __ECOS       ret = jffs2_flash_erase(c, jeb);       if (!ret) {               jffs2_erase_succeeded(c, jeb);               return;       }       bad_offset = jeb->offset;#else /* Linux */	struct erase_info *instr;	instr = kmalloc(sizeof(struct erase_info) + sizeof(struct erase_priv_struct), GFP_KERNEL);	if (!instr) {		printk(KERN_WARNING "kmalloc for struct erase_info in jffs2_erase_block failed. Refiling block for later\n");		spin_lock(&c->erase_completion_lock);		list_del(&jeb->list);		list_add(&jeb->list, &c->erase_pending_list);		c->erasing_size -= c->sector_size;		c->dirty_size += c->sector_size;		jeb->dirty_size = c->sector_size;		spin_unlock(&c->erase_completion_lock);		return;	}	memset(instr, 0, sizeof(*instr));	instr->mtd = c->mtd;	instr->addr = jeb->offset;	instr->len = c->sector_size;	instr->callback = jffs2_erase_callback;	instr->priv = (unsigned long)(&instr[1]);	instr->fail_addr = 0xffffffff;		((struct erase_priv_struct *)instr->priv)->jeb = jeb;	((struct erase_priv_struct *)instr->priv)->c = c;	ret = c->mtd->erase(c->mtd, instr);	if (!ret)		return;	bad_offset = instr->fail_addr;	kfree(instr);#endif /* __ECOS */	if (ret == -ENOMEM || ret == -EAGAIN) {		/* Erase failed immediately. Refile it on the list */		D1(printk(KERN_DEBUG "Erase at 0x%08x failed: %d. Refiling on erase_pending_list\n", jeb->offset, ret));		spin_lock(&c->erase_completion_lock);		list_del(&jeb->list);		list_add(&jeb->list, &c->erase_pending_list);		c->erasing_size -= c->sector_size;		c->dirty_size += c->sector_size;		jeb->dirty_size = c->sector_size;		spin_unlock(&c->erase_completion_lock);		return;	}	if (ret == -EROFS) 		printk(KERN_WARNING "Erase at 0x%08x failed immediately: -EROFS. Is the sector locked?\n", jeb->offset);	else		printk(KERN_WARNING "Erase at 0x%08x failed immediately: errno %d\n", jeb->offset, ret);	jffs2_erase_failed(c, jeb, bad_offset);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/7d27c8143c8234e1cae8285fd2d43c19dad69bde/erase.c/clean/fs/jffs2/erase.c