hc
2024-01-31 f9004dbfff8a3fbbd7e2a88c8a4327c7f2f8e5b2
kernel/drivers/net/ethernet/mellanox/mlx4/eq.c
....@@ -100,7 +100,7 @@
100100 req_not << 31),
101101 eq->doorbell);
102102 /* We still want ordering, just not swabbing, so add a barrier */
103
- mb();
103
+ wmb();
104104 }
105105
106106 static struct mlx4_eqe *get_eqe(struct mlx4_eq *eq, u32 entry, u8 eqe_factor,
....@@ -558,6 +558,7 @@
558558 mlx4_dbg(dev, "%s: MLX4_EVENT_TYPE_SRQ_LIMIT. srq_no=0x%x, eq 0x%x\n",
559559 __func__, be32_to_cpu(eqe->event.srq.srqn),
560560 eq->eqn);
561
+ fallthrough;
561562 case MLX4_EVENT_TYPE_SRQ_CATAS_ERROR:
562563 if (mlx4_is_master(dev)) {
563564 /* forward only to slave owning the SRQ */
....@@ -820,7 +821,7 @@
820821 !!(eqe->owner & 0x80) ^
821822 !!(eq->cons_index & eq->nent) ? "HW" : "SW");
822823 break;
823
- };
824
+ }
824825
825826 ++eq->cons_index;
826827 eqes_found = 1;
....@@ -1012,8 +1013,6 @@
10121013
10131014 dma_list[i] = t;
10141015 eq->page_list[i].map = t;
1015
-
1016
- memset(eq->page_list[i].buf, 0, PAGE_SIZE);
10171016 }
10181017
10191018 eq->eqn = mlx4_bitmap_alloc(&priv->eq_table.bitmap);
....@@ -1058,8 +1057,7 @@
10581057 INIT_LIST_HEAD(&eq->tasklet_ctx.list);
10591058 INIT_LIST_HEAD(&eq->tasklet_ctx.process_list);
10601059 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);
10631061
10641062 return err;
10651063