__raw_writel(cpu_to_be32((1 << HCR_GO_BIT)                | (event ? (1 << HCA_E_BIT) : 0)   | (op_modifier << HCR_OPMOD_SHIFT) | op),                       dev->hcr + 6 * 4); 
__raw_writel((__force u32) cpu_to_be32((1 << HCR_GO_BIT)                | (event ? (1 << HCA_E_BIT) : 0)   | (op_modifier << HCR_OPMOD_SHIFT) | op),                       dev->hcr + 6 * 4); 
static int mthca_cmd_post(struct mthca_dev *dev,			  u64 in_param,			  u64 out_param,			  u32 in_modifier,			  u8 op_modifier,			  u16 op,			  u16 token,			  int event){	int err = 0;	if (down_interruptible(&dev->cmd.hcr_sem))		return -EINTR;	if (event) {		unsigned long end = jiffies + GO_BIT_TIMEOUT;		while (go_bit(dev) && time_before(jiffies, end)) {			set_current_state(TASK_RUNNING);			schedule();		}	}	if (go_bit(dev)) {		err = -EAGAIN;		goto out;	}	/*	 * We use writel (instead of something like memcpy_toio)	 * because writes of less than 32 bits to the HCR don't work	 * (and some architectures such as ia64 implement memcpy_toio	 * in terms of writeb).	 */	__raw_writel(cpu_to_be32(in_param >> 32),           dev->hcr + 0 * 4);	__raw_writel(cpu_to_be32(in_param & 0xfffffffful),  dev->hcr + 1 * 4);	__raw_writel(cpu_to_be32(in_modifier),              dev->hcr + 2 * 4);	__raw_writel(cpu_to_be32(out_param >> 32),          dev->hcr + 3 * 4);	__raw_writel(cpu_to_be32(out_param & 0xfffffffful), dev->hcr + 4 * 4);	__raw_writel(cpu_to_be32(token << 16),              dev->hcr + 5 * 4);	/* __raw_writel may not order writes. */	wmb();	__raw_writel(cpu_to_be32((1 << HCR_GO_BIT)                |				 (event ? (1 << HCA_E_BIT) : 0)   |				 (op_modifier << HCR_OPMOD_SHIFT) |				 op),                       dev->hcr + 6 * 4);out:	up(&dev->cmd.hcr_sem);	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/97f52eb438be7caebe026421545619d8a0c1398a/mthca_cmd.c/buggy/drivers/infiniband/hw/mthca/mthca_cmd.c