--- zzzz-none-000/linux-2.6.19.2/drivers/infiniband/hw/ehca/ehca_mrmw.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/drivers/infiniband/hw/ehca/ehca_mrmw.c 2007-01-11 07:38:19.000000000 +0000 @@ -1013,7 +1013,7 @@ u32 i; u64 *kpage; - kpage = ehca_alloc_fw_ctrlblock(); + kpage = kzalloc(H_CB_ALIGNMENT, GFP_KERNEL); if (!kpage) { ehca_err(&shca->ib_device, "kpage alloc failed"); ret = -ENOMEM; @@ -1092,7 +1092,7 @@ ehca_reg_mr_rpages_exit1: - ehca_free_fw_ctrlblock(kpage); + kfree(kpage); ehca_reg_mr_rpages_exit0: if (ret) ehca_err(&shca->ib_device, "ret=%x shca=%p e_mr=%p pginfo=%p " @@ -1124,7 +1124,7 @@ ehca_mrmw_map_acl(acl, &hipz_acl); ehca_mrmw_set_pgsize_hipz_acl(&hipz_acl); - kpage = ehca_alloc_fw_ctrlblock(); + kpage = kzalloc(H_CB_ALIGNMENT, GFP_KERNEL); if (!kpage) { ehca_err(&shca->ib_device, "kpage alloc failed"); ret = -ENOMEM; @@ -1181,7 +1181,7 @@ } ehca_rereg_mr_rereg1_exit1: - ehca_free_fw_ctrlblock(kpage); + kfree(kpage); ehca_rereg_mr_rereg1_exit0: if ( ret && (ret != -EAGAIN) ) ehca_err(&shca->ib_device, "ret=%x lkey=%x rkey=%x "