IB/mlx4: Fix uninitialized spinlock for 32-bit archs
authorJack Morgenstein <jackm@dev.mellanox.co.il>
Sun, 13 May 2007 14:18:23 +0000 (17:18 +0300)
committerRoland Dreier <rolandd@cisco.com>
Mon, 14 May 2007 20:02:58 +0000 (13:02 -0700)
uar_lock spinlock was used in mlx4_ib_cq_arm without being initialized
(this only affects 32-bit archs, because uar_lock is not used on
64-bit archs and MLX4_INIT_DOORBELL_LOCK() is a NOP).

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/mlx4/main.c

index 688ecb4c39f340d7dfb9002e73693775018a9ea2..402f3a20ec0aa7f4c50c1f6c74a41e12f9b6426c 100644 (file)
@@ -489,6 +489,7 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
        ibdev->uar_map = ioremap(ibdev->priv_uar.pfn << PAGE_SHIFT, PAGE_SIZE);
        if (!ibdev->uar_map)
                goto err_uar;
+       MLX4_INIT_DOORBELL_LOCK(&ibdev->uar_lock);
 
        INIT_LIST_HEAD(&ibdev->pgdir_list);
        mutex_init(&ibdev->pgdir_mutex);