]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/infiniband/hw/mlx5/main.c
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[linux.git] / drivers / infiniband / hw / mlx5 / main.c
index e874d688d040d69eac94c1d680d3f8eb81d422f1..e4bcfa81b70a3eedb003dceeb9634b0fbbf2bd6a 100644 (file)
@@ -2283,8 +2283,8 @@ static int mlx5_ib_mmap_offset(struct mlx5_ib_dev *dev,
 
 static u64 mlx5_entry_to_mmap_offset(struct mlx5_user_mmap_entry *entry)
 {
-       u16 cmd = entry->rdma_entry.start_pgoff >> 16;
-       u16 index = entry->rdma_entry.start_pgoff & 0xFFFF;
+       u64 cmd = (entry->rdma_entry.start_pgoff >> 16) & 0xFFFF;
+       u64 index = entry->rdma_entry.start_pgoff & 0xFFFF;
 
        return (((index >> 8) << 16) | (cmd << MLX5_IB_MMAP_CMD_SHIFT) |
                (index & 0xFF)) << PAGE_SHIFT;
@@ -6545,7 +6545,7 @@ static int mlx5_ib_init_var_table(struct mlx5_ib_dev *dev)
                                        doorbell_bar_offset);
        bar_size = (1ULL << log_doorbell_bar_size) * 4096;
        var_table->stride_size = 1ULL << log_doorbell_stride;
-       var_table->num_var_hw_entries = bar_size / var_table->stride_size;
+       var_table->num_var_hw_entries = div64_u64(bar_size, var_table->stride_size);
        mutex_init(&var_table->bitmap_lock);
        var_table->bitmap = bitmap_zalloc(var_table->num_var_hw_entries,
                                          GFP_KERNEL);