if (dev->hca_type == ARBEL_NATIVE) mthca_table_put(dev, dev->mr_table.mpt_table, key_to_hw_index(dev, mr->ibmr.lkey)); 
void mthca_free_mr(struct mthca_dev *dev, struct mthca_mr *mr){	int err;	u8 status;	might_sleep();	err = mthca_HW2SW_MPT(dev, NULL,			      key_to_hw_index(dev, mr->ibmr.lkey) &			      (dev->limits.num_mpts - 1),			      &status);	if (err)		mthca_warn(dev, "HW2SW_MPT failed (%d)\n", err);	else if (status)		mthca_warn(dev, "HW2SW_MPT returned status 0x%02x\n",			   status);	if (mr->order >= 0)		mthca_free_mtt(dev, mr->first_seg, mr->order);	mthca_free(&dev->mr_table.mpt_alloc, key_to_hw_index(dev, mr->ibmr.lkey));}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/86562a139182bb19c984347f9625b61f3e6f7815/mthca_mr.c/buggy/drivers/infiniband/hw/mthca/mthca_mr.c