u32 ci; 
__be32 ci; 
int mthca_arbel_arm_cq(struct ib_cq *ibcq, enum ib_cq_notify notify){	struct mthca_cq *cq = to_mcq(ibcq);	u32 doorbell[2];	u32 sn;	u32 ci;	sn = cq->arm_sn & 3;	ci = cpu_to_be32(cq->cons_index);	doorbell[0] = ci;	doorbell[1] = cpu_to_be32((cq->cqn << 8) | (2 << 5) | (sn << 3) |				  (notify == IB_CQ_SOLICITED ? 1 : 2));	mthca_write_db_rec(doorbell, cq->arm_db);	/*	 * Make sure that the doorbell record in host memory is	 * written before ringing the doorbell via PCI MMIO.	 */	wmb();	doorbell[0] = cpu_to_be32((sn << 28)                       |				  (notify == IB_CQ_SOLICITED ?				   MTHCA_ARBEL_CQ_DB_REQ_NOT_SOL :				   MTHCA_ARBEL_CQ_DB_REQ_NOT)      |				  cq->cqn);	doorbell[1] = ci;	mthca_write64(doorbell,		      to_mdev(ibcq->device)->kar + MTHCA_CQ_DOORBELL,		      MTHCA_GET_DOORBELL_LOCK(&to_mdev(ibcq->device)->doorbell_lock));	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/97f52eb438be7caebe026421545619d8a0c1398a/mthca_cq.c/buggy/drivers/infiniband/hw/mthca/mthca_cq.c