.. | .. |
---|
100 | 100 | req_not << 31), |
---|
101 | 101 | eq->doorbell); |
---|
102 | 102 | /* We still want ordering, just not swabbing, so add a barrier */ |
---|
103 | | - mb(); |
---|
| 103 | + wmb(); |
---|
104 | 104 | } |
---|
105 | 105 | |
---|
106 | 106 | static struct mlx4_eqe *get_eqe(struct mlx4_eq *eq, u32 entry, u8 eqe_factor, |
---|
.. | .. |
---|
558 | 558 | mlx4_dbg(dev, "%s: MLX4_EVENT_TYPE_SRQ_LIMIT. srq_no=0x%x, eq 0x%x\n", |
---|
559 | 559 | __func__, be32_to_cpu(eqe->event.srq.srqn), |
---|
560 | 560 | eq->eqn); |
---|
| 561 | + fallthrough; |
---|
561 | 562 | case MLX4_EVENT_TYPE_SRQ_CATAS_ERROR: |
---|
562 | 563 | if (mlx4_is_master(dev)) { |
---|
563 | 564 | /* forward only to slave owning the SRQ */ |
---|
.. | .. |
---|
820 | 821 | !!(eqe->owner & 0x80) ^ |
---|
821 | 822 | !!(eq->cons_index & eq->nent) ? "HW" : "SW"); |
---|
822 | 823 | break; |
---|
823 | | - }; |
---|
| 824 | + } |
---|
824 | 825 | |
---|
825 | 826 | ++eq->cons_index; |
---|
826 | 827 | eqes_found = 1; |
---|
.. | .. |
---|
1012 | 1013 | |
---|
1013 | 1014 | dma_list[i] = t; |
---|
1014 | 1015 | eq->page_list[i].map = t; |
---|
1015 | | - |
---|
1016 | | - memset(eq->page_list[i].buf, 0, PAGE_SIZE); |
---|
1017 | 1016 | } |
---|
1018 | 1017 | |
---|
1019 | 1018 | eq->eqn = mlx4_bitmap_alloc(&priv->eq_table.bitmap); |
---|
.. | .. |
---|
1058 | 1057 | INIT_LIST_HEAD(&eq->tasklet_ctx.list); |
---|
1059 | 1058 | INIT_LIST_HEAD(&eq->tasklet_ctx.process_list); |
---|
1060 | 1059 | spin_lock_init(&eq->tasklet_ctx.lock); |
---|
1061 | | - tasklet_init(&eq->tasklet_ctx.task, mlx4_cq_tasklet_cb, |
---|
1062 | | - (unsigned long)&eq->tasklet_ctx); |
---|
| 1060 | + tasklet_setup(&eq->tasklet_ctx.task, mlx4_cq_tasklet_cb); |
---|
1063 | 1061 | |
---|
1064 | 1062 | return err; |
---|
1065 | 1063 | |
---|