]> err.no Git - linux-2.6/blobdiff - drivers/infiniband/hw/nes/nes_verbs.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
[linux-2.6] / drivers / infiniband / hw / nes / nes_verbs.c
index a651e9d9f0efdba6e38612b738f9455ccf2a1bcf..7c27420c22405a0bfd1faaa9549915dd7f37e6ea 100644 (file)
@@ -49,6 +49,7 @@ atomic_t mod_qp_timouts;
 atomic_t qps_created;
 atomic_t sw_qps_destroyed;
 
+static void nes_unregister_ofa_device(struct nes_ib_device *nesibdev);
 
 /**
  * nes_alloc_mw
@@ -1043,10 +1044,10 @@ static int nes_setup_virt_qp(struct nes_qp *nesqp, struct nes_pbl *nespbl,
        u8 sq_pbl_entries;
 
        pbl_entries = nespbl->pbl_size >> 3;
-       nes_debug(NES_DBG_QP, "Userspace PBL, pbl_size=%u, pbl_entries = %d pbl_vbase=%p, pbl_pbase=%p\n",
+       nes_debug(NES_DBG_QP, "Userspace PBL, pbl_size=%u, pbl_entries = %d pbl_vbase=%p, pbl_pbase=%lx\n",
                        nespbl->pbl_size, pbl_entries,
                        (void *)nespbl->pbl_vbase,
-                       (void *)nespbl->pbl_pbase);
+                       (unsigned long) nespbl->pbl_pbase);
        pbl = (__le64 *) nespbl->pbl_vbase; /* points to first pbl entry */
        /* now lets set the sq_vbase as well as rq_vbase addrs we will assign */
        /* the first pbl to be fro the rq_vbase... */
@@ -1074,9 +1075,9 @@ static int nes_setup_virt_qp(struct nes_qp *nesqp, struct nes_pbl *nespbl,
        /* nesqp->hwqp.rq_vbase = bus_to_virt(*pbl); */
        /*nesqp->hwqp.rq_vbase = phys_to_virt(*pbl); */
 
-       nes_debug(NES_DBG_QP, "QP sq_vbase= %p sq_pbase=%p rq_vbase=%p rq_pbase=%p\n",
-                       nesqp->hwqp.sq_vbase, (void *)nesqp->hwqp.sq_pbase,
-                       nesqp->hwqp.rq_vbase, (void *)nesqp->hwqp.rq_pbase);
+       nes_debug(NES_DBG_QP, "QP sq_vbase= %p sq_pbase=%lx rq_vbase=%p rq_pbase=%lx\n",
+                 nesqp->hwqp.sq_vbase, (unsigned long) nesqp->hwqp.sq_pbase,
+                 nesqp->hwqp.rq_vbase, (unsigned long) nesqp->hwqp.rq_pbase);
        spin_lock_irqsave(&nesadapter->pbl_lock, flags);
        if (!nesadapter->free_256pbl) {
                pci_free_consistent(nesdev->pcidev, nespbl->pbl_size, nespbl->pbl_vbase,
@@ -1251,6 +1252,9 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd,
        u8 rq_encoded_size;
        /* int counter; */
 
+       if (init_attr->create_flags)
+               return ERR_PTR(-EINVAL);
+
        atomic_inc(&qps_created);
        switch (init_attr->qp_type) {
                case IB_QPT_RC:
@@ -1908,13 +1912,13 @@ static int nes_destroy_cq(struct ib_cq *ib_cq)
                nesadapter->free_256pbl++;
                if (nesadapter->free_256pbl > nesadapter->max_256pbl) {
                        printk(KERN_ERR PFX "%s: free 256B PBLs(%u) has exceeded the max(%u)\n",
-                                       __FUNCTION__, nesadapter->free_256pbl, nesadapter->max_256pbl);
+                                       __func__, nesadapter->free_256pbl, nesadapter->max_256pbl);
                }
        } else if (nescq->virtual_cq == 2) {
                nesadapter->free_4kpbl++;
                if (nesadapter->free_4kpbl > nesadapter->max_4kpbl) {
                        printk(KERN_ERR PFX "%s: free 4K PBLs(%u) has exceeded the max(%u)\n",
-                                       __FUNCTION__, nesadapter->free_4kpbl, nesadapter->max_4kpbl);
+                                       __func__, nesadapter->free_4kpbl, nesadapter->max_4kpbl);
                }
                opcode |= NES_CQP_CQ_4KB_CHUNK;
        }
@@ -2653,10 +2657,10 @@ static struct ib_mr *nes_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
 
                        nespbl->pbl_vbase = (u64 *)pbl;
                        nespbl->user_base = start;
-                       nes_debug(NES_DBG_MR, "Allocated PBL memory, %u bytes, pbl_pbase=%p,"
+                       nes_debug(NES_DBG_MR, "Allocated PBL memory, %u bytes, pbl_pbase=%lx,"
                                        " pbl_vbase=%p user_base=0x%lx\n",
-                                       nespbl->pbl_size, (void *)nespbl->pbl_pbase,
-                                       (void*)nespbl->pbl_vbase, nespbl->user_base);
+                                 nespbl->pbl_size, (unsigned long) nespbl->pbl_pbase,
+                                 (void *) nespbl->pbl_vbase, nespbl->user_base);
 
                        list_for_each_entry(chunk, &region->chunk_list, list) {
                                for (nmap_index = 0; nmap_index < chunk->nmap; ++nmap_index) {
@@ -3895,14 +3899,11 @@ int nes_register_ofa_device(struct nes_ib_device *nesibdev)
 /**
  * nes_unregister_ofa_device
  */
-void nes_unregister_ofa_device(struct nes_ib_device *nesibdev)
+static void nes_unregister_ofa_device(struct nes_ib_device *nesibdev)
 {
        struct nes_vnic *nesvnic = nesibdev->nesvnic;
        int i;
 
-       if (nesibdev == NULL)
-               return;
-
        for (i = 0; i < ARRAY_SIZE(nes_class_attributes); ++i) {
                class_device_remove_file(&nesibdev->ibdev.class_dev, nes_class_attributes[i]);
        }