···1414 ---help---1515 Userspace InfiniBand Management Datagram (MAD) support. This1616 is the kernel side of the userspace MAD support, which allows1717- userspace processes to send and receive MADs. You will also 1717+ userspace processes to send and receive MADs. You will also1818 need libibumad from <http://www.openib.org>.19192020config INFINIBAND_USER_ACCESS
+2-2
drivers/infiniband/core/addr.c
···327327}328328EXPORT_SYMBOL(rdma_addr_cancel);329329330330-static int netevent_callback(struct notifier_block *self, unsigned long event, 330330+static int netevent_callback(struct notifier_block *self, unsigned long event,331331 void *ctx)332332{333333- if (event == NETEVENT_NEIGH_UPDATE) { 333333+ if (event == NETEVENT_NEIGH_UPDATE) {334334 struct neighbour *neigh = ctx;335335336336 if (neigh->dev->type == ARPHRD_INFINIBAND &&
+1-1
drivers/infiniband/core/cm.c
···179179 if (IS_ERR(ah))180180 return PTR_ERR(ah);181181182182- m = ib_create_send_mad(mad_agent, cm_id_priv->id.remote_cm_qpn, 182182+ m = ib_create_send_mad(mad_agent, cm_id_priv->id.remote_cm_qpn,183183 cm_id_priv->av.pkey_index,184184 0, IB_MGMT_MAD_HDR, IB_MGMT_MAD_DATA,185185 GFP_ATOMIC);
+4-4
drivers/infiniband/core/cma.c
···613613 if (id_priv->cma_dev) {614614 switch (id_priv->id.device->node_type) {615615 case IB_NODE_CA:616616- if (id_priv->cm_id.ib && !IS_ERR(id_priv->cm_id.ib))616616+ if (id_priv->cm_id.ib && !IS_ERR(id_priv->cm_id.ib))617617 ib_destroy_cm_id(id_priv->cm_id.ib);618618 break;619619 default:···692692 if (id_priv->cma_dev) {693693 switch (id->device->node_type) {694694 case IB_NODE_CA:695695- if (id_priv->cm_id.ib && !IS_ERR(id_priv->cm_id.ib))695695+ if (id_priv->cm_id.ib && !IS_ERR(id_priv->cm_id.ib))696696 ib_destroy_cm_id(id_priv->cm_id.ib);697697 break;698698 default:699699 break;700700 }701701- mutex_lock(&lock);701701+ mutex_lock(&lock);702702 cma_detach_from_dev(id_priv);703703 mutex_unlock(&lock);704704 }···14921492 hlist_for_each_entry(cur_id, node, &bind_list->owners, node) {14931493 if (cma_any_addr(&cur_id->id.route.addr.src_addr))14941494 return -EADDRNOTAVAIL;14951495-14951495+14961496 cur_sin = (struct sockaddr_in *) &cur_id->id.route.addr.src_addr;14971497 if (sin->sin_addr.s_addr == cur_sin->sin_addr.s_addr)14981498 return -EADDRINUSE;
+6-6
drivers/infiniband/core/mad.c
···12461246 int i;1247124712481248 for (i = 0; i < MAX_MGMT_OUI; i++)12491249- /* Is there matching OUI for this vendor class ? */12501250- if (!memcmp(vendor_class->oui[i], oui, 3))12491249+ /* Is there matching OUI for this vendor class ? */12501250+ if (!memcmp(vendor_class->oui[i], oui, 3))12511251 return i;1252125212531253 return -1;···22372237 list_for_each_entry_safe(mad_send_wr, temp_mad_send_wr,22382238 &mad_agent_priv->send_list, agent_list) {22392239 if (mad_send_wr->status == IB_WC_SUCCESS) {22402240- mad_send_wr->status = IB_WC_WR_FLUSH_ERR;22402240+ mad_send_wr->status = IB_WC_WR_FLUSH_ERR;22412241 mad_send_wr->refcount -= (mad_send_wr->timeout > 0);22422242 }22432243 }···25282528 }25292529 }25302530 sg_list.addr = dma_map_single(qp_info->port_priv->25312531- device->dma_device,25312531+ device->dma_device,25322532 &mad_priv->grh,25332533 sizeof *mad_priv -25342534- sizeof mad_priv->header,25342534+ sizeof mad_priv->header,25352535 DMA_FROM_DEVICE);25362536 pci_unmap_addr_set(&mad_priv->header, mapping, sg_list.addr);25372537 recv_wr.wr_id = (unsigned long)&mad_priv->header.mad_list;···26062606 struct ib_qp *qp;2607260726082608 attr = kmalloc(sizeof *attr, GFP_KERNEL);26092609- if (!attr) {26092609+ if (!attr) {26102610 printk(KERN_ERR PFX "Couldn't kmalloc ib_qp_attr\n");26112611 return -ENOMEM;26122612 }
···11/*22 * Copyright (c) 2004 Topspin Communications. All rights reserved.33- * Copyright (c) 2005 Voltaire, Inc. All rights reserved. 33+ * Copyright (c) 2005 Voltaire, Inc. All rights reserved.44 * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.55 *66 * This software is available to you under a choice of one of two
···21262126 dd->ipath_rx_pol_inv = new_pol_inv;21272127 val = ipath_read_kreg64(dd, dd->ipath_kregs->kr_xgxsconfig);21282128 val &= ~(INFINIPATH_XGXS_RX_POL_MASK <<21292129- INFINIPATH_XGXS_RX_POL_SHIFT);21302130- val |= ((u64)dd->ipath_rx_pol_inv) <<21312131- INFINIPATH_XGXS_RX_POL_SHIFT;21292129+ INFINIPATH_XGXS_RX_POL_SHIFT);21302130+ val |= ((u64)dd->ipath_rx_pol_inv) <<21312131+ INFINIPATH_XGXS_RX_POL_SHIFT;21322132 ipath_write_kreg(dd, dd->ipath_kregs->kr_xgxsconfig, val);21332133 }21342134 return 0;
+5-5
drivers/infiniband/hw/mthca/mthca_cq.c
···544544 wq = &(*cur_qp)->rq;545545 wqe = be32_to_cpu(cqe->wqe);546546 wqe_index = wqe >> wq->wqe_shift;547547- /*548548- * WQE addr == base - 1 might be reported in receive completion549549- * with error instead of (rq size - 1) by Sinai FW 1.0.800 and550550- * Arbel FW 5.1.400. This bug should be fixed in later FW revs.551551- */547547+ /*548548+ * WQE addr == base - 1 might be reported in receive completion549549+ * with error instead of (rq size - 1) by Sinai FW 1.0.800 and550550+ * Arbel FW 5.1.400. This bug should be fixed in later FW revs.551551+ */552552 if (unlikely(wqe_index < 0))553553 wqe_index = wq->max - 1;554554 entry->wr_id = (*cur_qp)->wrid[wqe_index];
···330330 req->priv.req_buf_fmt = cpu_to_be16(SRP_BUF_FORMAT_DIRECT |331331 SRP_BUF_FORMAT_INDIRECT);332332 /*333333- * In the published SRP specification (draft rev. 16a), the 333333+ * In the published SRP specification (draft rev. 16a), the334334 * port identifier format is 8 bytes of ID extension followed335335 * by 8 bytes of GUID. Older drafts put the two halves in the336336 * opposite order, so that the GUID comes first.