seg >>= order; 
__mthca_free_mtt(dev, seg, order); 
static void mthca_free_mtt(struct mthca_dev *dev, u32 seg, int order){	seg >>= order;	spin_lock(&dev->mr_table.mpt_alloc.lock);	while (test_bit(seg ^ 1, dev->mr_table.mtt_buddy[order])) {		clear_bit(seg ^ 1, dev->mr_table.mtt_buddy[order]);		seg >>= 1;		++order;	}	set_bit(seg, dev->mr_table.mtt_buddy[order]);	spin_unlock(&dev->mr_table.mpt_alloc.lock);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/86562a139182bb19c984347f9625b61f3e6f7815/mthca_mr.c/buggy/drivers/infiniband/hw/mthca/mthca_mr.c