[PATCH] ehca: ret is unsigned, ibmebus_request_irq() negative return ignored in hca_create_eq()

Roel Kluin
2008-04-23T21:08:18Z

diff --git a/drivers/infiniband/hw/ehca/ehca_eq.c b/drivers/infiniband/hw/ehca/ehca_eq.c
index b4ac617..9727235 100644
--- a/drivers/infiniband/hw/ehca/ehca_eq.c
+++ b/drivers/infiniband/hw/ehca/ehca_eq.c
@@ -59,6 +59,7 @@ int ehca_create_eq(struct ehca_shca *shca,
u32 i;
void *vpage;
struct ib_device *ib_dev = &shca->ib_device;
+ int ret2;

spin_lock_init(&eq->spinlock);
spin_lock_init(&eq->irq_spinlock);
@@ -123,18 +124,18 @@ int ehca_create_eq(struct ehca_shca *shca,

/* register interrupt handlers and initialize work queues */
if (type == EHCA_EQ) {
- ret = ibmebus_request_irq(eq->ist, ehca_interrupt_eq,
+ ret2 = ibmebus_request_irq(eq->ist, ehca_interrupt_eq,
IRQF_DISABLED, "ehca_eq",
(void *)shca);
- if (ret < 0)
+ if (ret2 < 0)
ehca_err(ib_dev, "Can't map interrupt handler.");

tasklet_init(&eq->interrupt_task, ehca_tasklet_eq, (long)shca);
} else if (type == EHCA_NEQ) {
- ret = ibmebus_request_irq(eq->ist, ehca_interrupt_neq,
+ ret2 = ibmebus_request_irq(eq->ist, ehca_interrupt_neq,
IRQF_DISABLED, "ehca_neq",
(void *)shca);
- if (ret < 0)
+ if (ret2 < 0)
ehca_err(ib_dev, "Can't map interrupt handler.");

tasklet_init(&eq->interrupt_task, ehca_tasklet_neq, (long)shca);