/* Get a character from the card matching matchbyte Step 3)  */
static int flashgchar(struct airo_info *ai, int matchbyte, int dwelltime)
/* Get a character from the card matching matchbyte Step 3)  */
static int flashgchar(struct airo_info *ai, int matchbyte, int dwelltime)
{
		rchar = IN4500(ai,SWS1);
		if(dwelltime && !(0x8000 & rchar)){
			dwelltime -= 10;
			mdelay(10);
			continue;
		}
		rbyte = 0xff & rchar;
		if( (rbyte == matchbyte) && (0x8000 & rchar) ){
			OUT4500(ai,SWS1,0);
			return 0;
		}
		if( rbyte == 0x81 || rbyte == 0x82 || rbyte == 0x83 || rbyte == 0x1a || 0xffff == rchar)
			break;
		OUT4500(ai,SWS1,0);
	}while(dwelltime > 0);
	return -EIO;
}