Exemplo n.º 1
0
static int femu_WritePageWithLayout_wrap(uffs_Device *dev, u32 block, u32 page, const u8* data, int data_len, const u8 *ecc,
		const uffs_TagStore *ts)
{
	uffs_FileEmu *emu = (uffs_FileEmu *)(dev->attr->_private);
	int ret;

	//printf("femu: Write block %d page %d data %d spare %d\n", block, page, data_len, spare_len);

	ret = emu->ops_orig.WritePageWithLayout(dev, block, page, data, data_len, ecc, ts);

	InjectBitFlip(dev, block, page);

	return ret;
}
Exemplo n.º 2
0
static int femu_WritePageWithLayout_wrap(uffs_Device *dev, u32 block, u32 page, const u8* data, int data_len, const u8 *ecc,
									const uffs_TagStore *ts)
{
	uffs_FileEmu *emu = (uffs_FileEmu *)(dev->attr->_private);
	int ret;
	
#ifdef UFFS_FEMU_SHOW_FLASH_IO
	if (data || ts) {
		MSG(PFX " Write block %d page %d", block, page);
		if (data)
			MSG(" DATA[%d]", data_len);
		if (ts)
			MSG(" TS");
		MSG(TENDSTR);
	}
#endif

	ret = emu->ops_orig.WritePageWithLayout(dev, block, page, data, data_len, ecc, ts);

	InjectBitFlip(dev, block, page);

	return ret;
}
Exemplo n.º 3
0
static int femu_WritePage_wrap(uffs_Device *dev, u32 block, u32 page,
							const u8 *data, int data_len, const u8 *spare, int spare_len)
{
	uffs_FileEmu *emu = (uffs_FileEmu *)(dev->attr->_private);
	int ret;

#ifdef UFFS_FEMU_SHOW_FLASH_IO
	if (data || spare) {
		MSG(PFX " Write block %d page %d", block, page);
		if (data)
			MSG(" DATA[%d]", data_len);
		if (spare)
			MSG(" SPARE[%d]", spare_len);
		MSG(TENDSTR);
	}
#endif
	
	ret = emu->ops_orig.WritePage(dev, block, page, data, data_len, spare, spare_len);

	InjectBitFlip(dev, block, page);

	return ret;
}