]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/infiniband/hw/ehca/ehca_eq.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux...
[linux-2.6-omap-h63xx.git] / drivers / infiniband / hw / ehca / ehca_eq.c
index 4961eb88827cd85bb6438a5777c1458297f349e0..b4ac617a70e65e3f8200bd6381156eff2408b73b 100644 (file)
@@ -86,8 +86,8 @@ int ehca_create_eq(struct ehca_shca *shca,
                return -EINVAL;
        }
 
-       ret = ipz_queue_ctor(&eq->ipz_queue, nr_pages,
-                            EHCA_PAGESIZE, sizeof(struct ehca_eqe), 0);
+       ret = ipz_queue_ctor(NULL, &eq->ipz_queue, nr_pages,
+                            EHCA_PAGESIZE, sizeof(struct ehca_eqe), 0, 0);
        if (!ret) {
                ehca_err(ib_dev, "Can't allocate EQ pages eq=%p", eq);
                goto create_eq_exit1;
@@ -96,7 +96,8 @@ int ehca_create_eq(struct ehca_shca *shca,
        for (i = 0; i < nr_pages; i++) {
                u64 rpage;
 
-               if (!(vpage = ipz_qpageit_get_inc(&eq->ipz_queue))) {
+               vpage = ipz_qpageit_get_inc(&eq->ipz_queue);
+               if (!vpage) {
                        ret = H_RESOURCE;
                        goto create_eq_exit2;
                }
@@ -122,7 +123,7 @@ int ehca_create_eq(struct ehca_shca *shca,
 
        /* register interrupt handlers and initialize work queues */
        if (type == EHCA_EQ) {
-               ret = ibmebus_request_irq(NULL, eq->ist, ehca_interrupt_eq,
+               ret = ibmebus_request_irq(eq->ist, ehca_interrupt_eq,
                                          IRQF_DISABLED, "ehca_eq",
                                          (void *)shca);
                if (ret < 0)
@@ -130,7 +131,7 @@ int ehca_create_eq(struct ehca_shca *shca,
 
                tasklet_init(&eq->interrupt_task, ehca_tasklet_eq, (long)shca);
        } else if (type == EHCA_NEQ) {
-               ret = ibmebus_request_irq(NULL, eq->ist, ehca_interrupt_neq,
+               ret = ibmebus_request_irq(eq->ist, ehca_interrupt_neq,
                                          IRQF_DISABLED, "ehca_neq",
                                          (void *)shca);
                if (ret < 0)
@@ -144,7 +145,7 @@ int ehca_create_eq(struct ehca_shca *shca,
        return 0;
 
 create_eq_exit2:
-       ipz_queue_dtor(&eq->ipz_queue);
+       ipz_queue_dtor(NULL, &eq->ipz_queue);
 
 create_eq_exit1:
        hipz_h_destroy_eq(shca->ipz_hca_handle, eq);
@@ -170,7 +171,7 @@ int ehca_destroy_eq(struct ehca_shca *shca, struct ehca_eq *eq)
        u64 h_ret;
 
        spin_lock_irqsave(&eq->spinlock, flags);
-       ibmebus_free_irq(NULL, eq->ist, (void *)shca);
+       ibmebus_free_irq(eq->ist, (void *)shca);
 
        h_ret = hipz_h_destroy_eq(shca->ipz_hca_handle, eq);
 
@@ -180,7 +181,7 @@ int ehca_destroy_eq(struct ehca_shca *shca, struct ehca_eq *eq)
                ehca_err(&shca->ib_device, "Can't free EQ resources.");
                return -EINVAL;
        }
-       ipz_queue_dtor(&eq->ipz_queue);
+       ipz_queue_dtor(NULL, &eq->ipz_queue);
 
        return 0;
 }