Esempio n. 1
0
//----- MS_LibFreeWriteBuf() -----------------------------------------
void MS_LibFreeWriteBuf(struct us_data *us)
{
	us->MS_Lib.wrtblk = (WORD)-1; //set to -1
	MS_LibClearPageMap(us); // memset((fdoExt)->MS_Lib.pagemap, 0, sizeof((fdoExt)->MS_Lib.pagemap))

	if (us->MS_Lib.blkpag)
	{
		kfree((BYTE *)(us->MS_Lib.blkpag));  // Arnold test ...
		us->MS_Lib.blkpag = NULL;
	}

	if (us->MS_Lib.blkext)
	{
		kfree((BYTE *)(us->MS_Lib.blkext));  // Arnold test ...
		us->MS_Lib.blkext = NULL;
	}
}
Esempio n. 2
0
/*
 * MS_LibClearWriteBuf()
 */
void MS_LibClearWriteBuf(struct us_data *us)
{
	int i;

	us->MS_Lib.wrtblk = (WORD)-1;
	MS_LibClearPageMap(us);

	if (us->MS_Lib.blkpag)
		memset(us->MS_Lib.blkpag, 0xff,
			us->MS_Lib.PagesPerBlock * us->MS_Lib.BytesPerSector);

	if (us->MS_Lib.blkext) {
		for (i = 0; i < us->MS_Lib.PagesPerBlock; i++) {
			us->MS_Lib.blkext[i].status1 = MS_REG_ST1_DEFAULT;
			us->MS_Lib.blkext[i].ovrflg = MS_REG_OVR_DEFAULT;
			us->MS_Lib.blkext[i].mngflg = MS_REG_MNG_DEFAULT;
			us->MS_Lib.blkext[i].logadr = MS_LB_NOT_USED;
		}
	}
}