writeb(pring->cmdidx, phba->MBslimaddr 
writel(pring->cmdidx, phba->MBslimaddr 
lpfc_sli_submit_iocb(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,		IOCB_t *iocb, struct lpfc_iocbq *nextiocb){	/*	 * Allocate and set up an iotag	 */	nextiocb->iocb.ulpIoTag =		lpfc_sli_next_iotag(phba, &phba->sli.ring[phba->sli.fcp_ring]);	/*	 * Issue iocb command to adapter	 */	lpfc_sli_pcimem_bcopy(&nextiocb->iocb, iocb, sizeof (IOCB_t));	wmb();	pring->stats.iocb_cmd++;	/*	 * If there is no completion routine to call, we can release the	 * IOCB buffer back right now. For IOCBs, like QUE_RING_BUF,	 * that have no rsp ring completion, iocb_cmpl MUST be NULL.	 */	if (nextiocb->iocb_cmpl)		lpfc_sli_ringtxcmpl_put(phba, pring, nextiocb);	else {		list_add_tail(&nextiocb->list, &phba->lpfc_iocb_list);	}	/*	 * Let the HBA know what IOCB slot will be the next one the	 * driver will put a command into.	 */	pring->cmdidx = pring->next_cmdidx;	writeb(pring->cmdidx, phba->MBslimaddr	       + (SLIMOFF + (pring->ringno * 2)) * 4);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/f91b392c4d20fcd2684587c0a091123c0409959c/lpfc_sli.c/buggy/drivers/scsi/lpfc/lpfc_sli.c