_lock_rx_hashtbl(bond);  bond_info->rx_hashtbl = new_hashtbl; 
static int rlb_initialize(struct bonding *bond){	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));	struct packet_type *pk_type = &(BOND_ALB_INFO(bond).rlb_pkt_type);	int size = RLB_HASH_TABLE_SIZE * sizeof(struct rlb_client_info);	int i;	spin_lock_init(&(bond_info->rx_hashtbl_lock));	_lock_rx_hashtbl(bond);	bond_info->rx_hashtbl = kmalloc(size, GFP_KERNEL);	if (!bond_info->rx_hashtbl) {		printk(KERN_ERR DRV_NAME		       ": %s: Error: Failed to allocate RLB hash table\n",		       bond->dev->name);		_unlock_rx_hashtbl(bond);		return -1;	}	bond_info->rx_hashtbl_head = RLB_NULL_INDEX;	for (i = 0; i < RLB_HASH_TABLE_SIZE; i++) {		rlb_init_table_entry(bond_info->rx_hashtbl + i);	}	_unlock_rx_hashtbl(bond);	/*initialize packet type*/	pk_type->type = __constant_htons(ETH_P_ARP);	pk_type->dev = bond->dev;	pk_type->func = rlb_arp_recv;	/* register to receive ARPs */	dev_add_pack(pk_type);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0d206a3af4329bd833cfa5fe1cc7fe146e49c131/bond_alb.c/buggy/drivers/net/bonding/bond_alb.c