u32 aligned_addr = addr & CX2_INDIRECT_ADDR_MASK; 
u32 aligned_addr = addr & IPW_INDIRECT_ADDR_MASK; 
static void _ipw_write_indirect(struct ipw_priv *priv, u32 addr, u8 * buf,				int num){	u32 aligned_addr = addr & CX2_INDIRECT_ADDR_MASK;	u32 dif_len = addr - aligned_addr;	u32 i;	IPW_DEBUG_IO("addr = %i, buf = %p, num = %i\n", addr, buf, num);	if (num <= 0) {		return;	}	/* Write the first nibble byte by byte */	if (unlikely(dif_len)) {		_ipw_write32(priv, CX2_INDIRECT_ADDR, aligned_addr);		/* Start reading at aligned_addr + dif_len */		for (i = dif_len; ((i < 4) && (num > 0)); i++, num--, buf++)			_ipw_write8(priv, CX2_INDIRECT_DATA + i, *buf);		aligned_addr += 4;	}	_ipw_write32(priv, CX2_AUTOINC_ADDR, aligned_addr);	for (; num >= 4; buf += 4, aligned_addr += 4, num -= 4)		_ipw_write32(priv, CX2_AUTOINC_DATA, *(u32 *) buf);	/* Copy the last nibble */	if (unlikely(num)) {		_ipw_write32(priv, CX2_INDIRECT_ADDR, aligned_addr);		for (i = 0; num > 0; i++, num--, buf++)			_ipw_write8(priv, CX2_INDIRECT_DATA + i, *buf);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b095c3819805f87d73d41641a53e4c070360d783/ipw2200.c/buggy/drivers/net/wireless/ipw2200.c