return 0;
 }
 
-static int qib_query_gid(struct ib_device *ibdev, u8 port,
-                        int index, union ib_gid *gid)
+static int qib_get_guid_be(struct rvt_dev_info *rdi, struct rvt_ibport *rvp,
+                          int guid_index, __be64 *guid)
 {
-       struct qib_devdata *dd = dd_from_ibdev(ibdev);
-       int ret = 0;
-
-       if (!port || port > dd->num_pports)
-               ret = -EINVAL;
-       else {
-               struct qib_ibport *ibp = to_iport(ibdev, port);
-               struct qib_pportdata *ppd = ppd_from_ibp(ibp);
+       struct qib_ibport *ibp = container_of(rvp, struct qib_ibport, rvp);
+       struct qib_pportdata *ppd = ppd_from_ibp(ibp);
 
-               gid->global.subnet_prefix = ibp->rvp.gid_prefix;
-               if (index == 0)
-                       gid->global.interface_id = ppd->guid;
-               else if (index < QIB_GUIDS_PER_PORT)
-                       gid->global.interface_id = ibp->guids[index - 1];
-               else
-                       ret = -EINVAL;
-       }
+       if (guid_index == 0)
+               *guid = ppd->guid;
+       else if (guid_index < QIB_GUIDS_PER_PORT)
+               *guid = ibp->guids[guid_index - 1];
+       else
+               return -EINVAL;
 
-       return ret;
+       return 0;
 }
 
 int qib_check_ah(struct ib_device *ibdev, struct ib_ah_attr *ah_attr)
        ibdev->modify_device = qib_modify_device;
        ibdev->query_port = qib_query_port;
        ibdev->modify_port = qib_modify_port;
-       ibdev->query_gid = qib_query_gid;
        ibdev->process_mad = qib_process_mad;
        ibdev->get_port_immutable = qib_port_immutable;
 
        dd->verbs_dev.rdi.driver_f.get_pmtu_from_attr = get_pmtu_from_attr;
 
        dd->verbs_dev.rdi.dparms.max_rdma_atomic = QIB_MAX_RDMA_ATOMIC;
+       dd->verbs_dev.rdi.driver_f.get_guid_be = qib_get_guid_be;
        dd->verbs_dev.rdi.dparms.lkey_table_size = qib_lkey_table_size;
        dd->verbs_dev.rdi.dparms.qp_table_size = ib_qib_qp_table_size;
        dd->verbs_dev.rdi.dparms.qpn_start = 1;