[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181023112852.4pmcezetrudduvna@mwanda>
Date: Tue, 23 Oct 2018 14:28:52 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: kbuild@...org, Salil Mehta <salil.mehta@...wei.com>
Cc: kbuild-all@...org, davem@...emloft.net, salil.mehta@...wei.com,
yisen.zhuang@...wei.com, lipeng321@...wei.com,
mehta.salil@...src.net, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, linuxarm@...wei.com,
Shiju Jose <shiju.jose@...wei.com>
Subject: Re: [PATCH net-next 6/7] net: hns3: Add enable and process hw errors
from PPP
Hi Shiju,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/Salil-Mehta/Adds-support-of-RAS-Error-Handling-in-HNS3-Driver/20181021-183911
smatch warnings:
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c:700 hclge_log_and_clear_ppp_error() error: uninitialized symbol 'hw_err_lst3'.
# https://github.com/0day-ci/linux/commit/9a8545e85954ec55367e8881d18cc2ae95c56d98
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 9a8545e85954ec55367e8881d18cc2ae95c56d98
vim +/hw_err_lst3 +700 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c
19049622e Shiju Jose 2018-10-19 653
9a8545e85 Shiju Jose 2018-10-19 654 static int hclge_log_and_clear_ppp_error(struct hclge_dev *hdev, u32 cmd,
9a8545e85 Shiju Jose 2018-10-19 655 enum hclge_err_int_type int_type)
9a8545e85 Shiju Jose 2018-10-19 656 {
9a8545e85 Shiju Jose 2018-10-19 657 enum hnae3_reset_type reset_level = HNAE3_NONE_RESET;
9a8545e85 Shiju Jose 2018-10-19 658 struct device *dev = &hdev->pdev->dev;
9a8545e85 Shiju Jose 2018-10-19 659 const struct hclge_hw_error *hw_err_lst1, *hw_err_lst2, *hw_err_lst3;
9a8545e85 Shiju Jose 2018-10-19 660 struct hclge_desc desc[2];
9a8545e85 Shiju Jose 2018-10-19 661 u32 err_sts;
9a8545e85 Shiju Jose 2018-10-19 662 int ret;
9a8545e85 Shiju Jose 2018-10-19 663
9a8545e85 Shiju Jose 2018-10-19 664 /* read PPP INT sts */
9a8545e85 Shiju Jose 2018-10-19 665 ret = hclge_cmd_query_error(hdev, &desc[0], cmd,
9a8545e85 Shiju Jose 2018-10-19 666 HCLGE_CMD_FLAG_NEXT, 5, int_type);
9a8545e85 Shiju Jose 2018-10-19 667 if (ret) {
9a8545e85 Shiju Jose 2018-10-19 668 dev_err(dev, "failed(=%d) to query PPP interrupt status\n",
9a8545e85 Shiju Jose 2018-10-19 669 ret);
9a8545e85 Shiju Jose 2018-10-19 670 return -EIO;
9a8545e85 Shiju Jose 2018-10-19 671 }
9a8545e85 Shiju Jose 2018-10-19 672
9a8545e85 Shiju Jose 2018-10-19 673 /* log error */
9a8545e85 Shiju Jose 2018-10-19 674 if (cmd == HCLGE_PPP_CMD0_INT_CMD) {
9a8545e85 Shiju Jose 2018-10-19 675 hw_err_lst1 = &hclge_ppp_mpf_int0[0];
9a8545e85 Shiju Jose 2018-10-19 676 hw_err_lst2 = &hclge_ppp_mpf_int1[0];
9a8545e85 Shiju Jose 2018-10-19 677 hw_err_lst3 = &hclge_ppp_pf_int[0];
9a8545e85 Shiju Jose 2018-10-19 678 } else if (cmd == HCLGE_PPP_CMD1_INT_CMD) {
9a8545e85 Shiju Jose 2018-10-19 679 hw_err_lst1 = &hclge_ppp_mpf_int2[0];
9a8545e85 Shiju Jose 2018-10-19 680 hw_err_lst2 = &hclge_ppp_mpf_int3[0];
Not set here.
9a8545e85 Shiju Jose 2018-10-19 681 } else {
9a8545e85 Shiju Jose 2018-10-19 682 dev_err(dev, "invalid command(=%d)\n", cmd);
9a8545e85 Shiju Jose 2018-10-19 683 return -EINVAL;
9a8545e85 Shiju Jose 2018-10-19 684 }
9a8545e85 Shiju Jose 2018-10-19 685
9a8545e85 Shiju Jose 2018-10-19 686 err_sts = le32_to_cpu(desc[0].data[2]);
9a8545e85 Shiju Jose 2018-10-19 687 if (err_sts) {
9a8545e85 Shiju Jose 2018-10-19 688 hclge_log_error(dev, hw_err_lst1, err_sts);
9a8545e85 Shiju Jose 2018-10-19 689 reset_level = HNAE3_FUNC_RESET;
9a8545e85 Shiju Jose 2018-10-19 690 }
9a8545e85 Shiju Jose 2018-10-19 691
9a8545e85 Shiju Jose 2018-10-19 692 err_sts = le32_to_cpu(desc[0].data[3]);
9a8545e85 Shiju Jose 2018-10-19 693 if (err_sts) {
9a8545e85 Shiju Jose 2018-10-19 694 hclge_log_error(dev, hw_err_lst2, err_sts);
9a8545e85 Shiju Jose 2018-10-19 695 reset_level = HNAE3_FUNC_RESET;
9a8545e85 Shiju Jose 2018-10-19 696 }
9a8545e85 Shiju Jose 2018-10-19 697
9a8545e85 Shiju Jose 2018-10-19 698 err_sts = (le32_to_cpu(desc[0].data[4]) >> 8) & 0x3;
9a8545e85 Shiju Jose 2018-10-19 699 if (err_sts) {
9a8545e85 Shiju Jose 2018-10-19 @700 hclge_log_error(dev, hw_err_lst3, err_sts);
^^^^^^^^^^^
Uninitialized.
9a8545e85 Shiju Jose 2018-10-19 701 reset_level = HNAE3_FUNC_RESET;
9a8545e85 Shiju Jose 2018-10-19 702 }
9a8545e85 Shiju Jose 2018-10-19 703
9a8545e85 Shiju Jose 2018-10-19 704 /* clear PPP INT */
9a8545e85 Shiju Jose 2018-10-19 705 ret = hclge_cmd_clear_error(hdev, &desc[0], NULL, 0,
9a8545e85 Shiju Jose 2018-10-19 706 HCLGE_CMD_FLAG_NEXT);
9a8545e85 Shiju Jose 2018-10-19 707 if (ret) {
9a8545e85 Shiju Jose 2018-10-19 708 dev_err(dev, "failed(=%d) to clear PPP interrupt status\n",
9a8545e85 Shiju Jose 2018-10-19 709 ret);
9a8545e85 Shiju Jose 2018-10-19 710 return -EIO;
9a8545e85 Shiju Jose 2018-10-19 711 }
9a8545e85 Shiju Jose 2018-10-19 712
9a8545e85 Shiju Jose 2018-10-19 713 return 0;
9a8545e85 Shiju Jose 2018-10-19 714 }
9a8545e85 Shiju Jose 2018-10-19 715
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Powered by blists - more mailing lists