ioc->name, t, le32_to_cpu(*(u32 *)hs_reply), 
ioc->name, t, le32_to_cpu(*(u32 *)hs_reply), 
WaitForDoorbellReply(MPT_ADAPTER *ioc, int howlong, int sleepFlag){	int u16cnt = 0;	int failcnt = 0;	int t;	u16 *hs_reply = ioc->hs_reply;	volatile MPIDefaultReply_t *mptReply = (MPIDefaultReply_t *) ioc->hs_reply;	u16 hword;	hs_reply[0] = hs_reply[1] = hs_reply[7] = 0;	/*	 * Get first two u16's so we can look at IOC's intended reply MsgLength	 */	u16cnt=0;	if ((t = WaitForDoorbellInt(ioc, howlong, sleepFlag)) < 0) {		failcnt++;	} else {		hs_reply[u16cnt++] = le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 0x0000FFFF);		CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);		if ((t = WaitForDoorbellInt(ioc, 5, sleepFlag)) < 0)			failcnt++;		else {			hs_reply[u16cnt++] = le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 0x0000FFFF);			CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);		}	}	dhsprintk((MYIOC_s_INFO_FMT "WaitCnt=%d First handshake reply word=%08x%s\n",			ioc->name, t, le32_to_cpu(*(u32 *)hs_reply), 			failcnt ? " - MISSING DOORBELL HANDSHAKE!" : ""));	/*	 * If no error (and IOC said MsgLength is > 0), piece together	 * reply 16 bits at a time.	 */	for (u16cnt=2; !failcnt && u16cnt < (2 * mptReply->MsgLength); u16cnt++) {		if ((t = WaitForDoorbellInt(ioc, 5, sleepFlag)) < 0)			failcnt++;		hword = le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 0x0000FFFF);		/* don't overflow our IOC hs_reply[] buffer! */		if (u16cnt < sizeof(ioc->hs_reply) / sizeof(ioc->hs_reply[0]))			hs_reply[u16cnt] = hword;		CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);	}	if (!failcnt && (t = WaitForDoorbellInt(ioc, 5, sleepFlag)) < 0)		failcnt++;	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);	if (failcnt) {		printk(MYIOC_s_ERR_FMT "Handshake reply failure!\n",				ioc->name);		return -failcnt;	}#if 0	else if (u16cnt != (2 * mptReply->MsgLength)) {		return -101;	}	else if ((mptReply->IOCStatus & MPI_IOCSTATUS_MASK) != MPI_IOCSTATUS_SUCCESS) {		return -102;	}#endif	dhsprintk((MYIOC_s_INFO_FMT "Got Handshake reply:\n", ioc->name));	DBG_DUMP_REPLY_FRAME(mptReply)	dhsprintk((MYIOC_s_INFO_FMT "WaitForDoorbell REPLY WaitCnt=%d (sz=%d)\n",			ioc->name, t, u16cnt/2));	return u16cnt/2;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c6678e0cfb41b029c3600c54b5bb65954de1230a/mptbase.c/buggy/drivers/message/fusion/mptbase.c