* [bug report] hinic3: Queue pair context initialization
@ 2025-09-18 7:21 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2025-09-18 7:21 UTC (permalink / raw)
To: Fan Gong; +Cc: kernel-janitors
Hello Fan Gong,
Commit 97dcb914a25b ("hinic3: Queue pair context initialization")
from Sep 12, 2025 (linux-next), leads to the following Smatch static
checker warning:
drivers/net/ethernet/huawei/hinic3/hinic3_nic_io.c:690 init_sq_ctxts()
error: uninitialized symbol 'out_param'.
drivers/net/ethernet/huawei/hinic3/hinic3_nic_io.c
647 static int init_sq_ctxts(struct hinic3_nic_dev *nic_dev)
648 {
649 struct hinic3_nic_io *nic_io = nic_dev->nic_io;
650 struct hinic3_hwdev *hwdev = nic_dev->hwdev;
651 struct hinic3_sq_ctxt_block *sq_ctxt_block;
652 u16 q_id, curr_id, max_ctxts, i;
653 struct hinic3_sq_ctxt *sq_ctxt;
654 struct hinic3_cmd_buf *cmd_buf;
655 struct hinic3_io_queue *sq;
656 __le64 out_param;
657 int err = 0;
658
659 cmd_buf = hinic3_alloc_cmd_buf(hwdev);
660 if (!cmd_buf) {
661 dev_err(hwdev->dev, "Failed to allocate cmd buf\n");
662 return -ENOMEM;
663 }
664
665 q_id = 0;
666 while (q_id < nic_io->num_qps) {
667 sq_ctxt_block = cmd_buf->buf;
668 sq_ctxt = sq_ctxt_block->sq_ctxt;
669
670 max_ctxts = (nic_io->num_qps - q_id) > HINIC3_Q_CTXT_MAX ?
671 HINIC3_Q_CTXT_MAX : (nic_io->num_qps - q_id);
672
673 hinic3_qp_prepare_cmdq_header(&sq_ctxt_block->cmdq_hdr,
674 HINIC3_QP_CTXT_TYPE_SQ, max_ctxts,
675 q_id);
676
677 for (i = 0; i < max_ctxts; i++) {
678 curr_id = q_id + i;
679 sq = &nic_io->sq[curr_id];
680 hinic3_sq_prepare_ctxt(sq, curr_id, &sq_ctxt[i]);
681 }
682
683 hinic3_cmdq_buf_swab32(sq_ctxt_block, sizeof(*sq_ctxt_block));
684
685 cmd_buf->size = cpu_to_le16(SQ_CTXT_SIZE(max_ctxts));
686 err = hinic3_cmdq_direct_resp(hwdev, MGMT_MOD_L2NIC,
687 L2NIC_UCODE_CMD_MODIFY_QUEUE_CTX,
688 cmd_buf, &out_param);
689 if (err || out_param) {
--> 690 dev_err(hwdev->dev, "Failed to set SQ ctxts, err: %d, out_param: 0x%llx\n",
691 err, out_param);
If err is non-zero then out_param has not been set on this iteration
through the loop.
692 err = -EFAULT;
693 break;
694 }
695
696 q_id += max_ctxts;
697 }
698
699 hinic3_free_cmd_buf(hwdev, cmd_buf);
700
701 return err;
702 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-09-18 7:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-18 7:21 [bug report] hinic3: Queue pair context initialization Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox