From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7236C4338F for ; Fri, 23 Jul 2021 07:54:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A96F560EE6 for ; Fri, 23 Jul 2021 07:54:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234118AbhGWHNf (ORCPT ); Fri, 23 Jul 2021 03:13:35 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:7766 "EHLO mx0b-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233291AbhGWHNd (ORCPT ); Fri, 23 Jul 2021 03:13:33 -0400 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 16N7jvSx016395; Fri, 23 Jul 2021 07:54:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : mime-version; s=corp-2021-07-09; bh=/CLyHRu4gGKUnhUcghLI/PGVrLwDaHgStMQigwdia4Q=; b=usqvojMmRNDoh0GcxBzenWedavAbNlIDElvPJYrfSt8mLGd9SwCqVMMNd6H2AgL55MfP nJ0ZlY/00kC7yFwhOqAdmuEPtixDx6PRoGCWm+I9sUD6xn72SUbIrhopHcpZnt+QvwC/ AWutfytSQISh0byw6kL7WdMUXcDCSPhUb4PYsdSab5sguLbtpnEZr7nrCOHFOzPNMdlF E1Rws+llFcPXUAaUhKgBWYZ3ibil9xMmmGNSYwXum5TdSoJ5JjQFT4iSzOwP71qaS2PK RVDKHRJOaqnGFUWjo2ePYLborpLhfNzWYHWiAxkv6u1qY6ZJYRbi3XAPXxcV7Y/UPosC pg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : content-type : mime-version; s=corp-2020-01-29; bh=/CLyHRu4gGKUnhUcghLI/PGVrLwDaHgStMQigwdia4Q=; b=MQ50y2Xc712NWcrRdO5PMxZq/1AvnfcP5k9sTs8DaNB2fFuSEk1Tb1b7ioRSdgYRzlKs b1B+sgk5NRcna34POnvUshXVNO8194kbka6k2LECDmejU/5t+2+FnqI+DxnjDwJ1xFKY RKKWvrBNUxKd17UtO1nu/EUfssq4DmsLpix5vVmLs+Jpm1Lmq1kawXDqktJ+lI4qIZWG 9n5DyDblc2jNxA2DFK5JN2opn495vJy2ZyiAT7aLeAwbMLUsNjVsu5748f35cMYXsOw5 DvJeJE5OLiC16bN42ZMcpUxx8GWKAl1fthl8iMNBNJMhKE+zQEo3HILCl/AWrXKlFuJM zQ== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 39yesmryvw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 23 Jul 2021 07:53:59 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 16N7pGOq080778; Fri, 23 Jul 2021 07:53:59 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2171.outbound.protection.outlook.com [104.47.58.171]) by aserp3020.oracle.com with ESMTP id 39uq1csasa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 23 Jul 2021 07:53:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dXYuKTSP074ziCPU0jafAqDLG/+OTdPwS698KcCAvb9tume1r7wOh2l4MhcHHYxnK3nlVAK0KYK0nN97VKFPVYrq4VrlKlYBiz6aD9xewDkoAHqzLQzmaA1kWQzaRdv3oXoeGG+y5HtPbBwIzc3PB+dA0tmbrqRRyubCfAf5ATwWpL/D3nUXgfKzOwLMHnc+LkELF7NxYwwZV76eKgCx1AysijXbC7JMWo58rjHSaMDhr9Cm4U3Dkbhewq8t1l56jMTWPrL1Syk/sgy/7NDT/qRWk7FOhQvtlpZ7fbDwlLBUC+sZFYpBHOONfpolBd0edEwE5meylcYnHSjHPhbg3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/CLyHRu4gGKUnhUcghLI/PGVrLwDaHgStMQigwdia4Q=; b=MQw49VnvAywsDLpIEzZemDPvr37hqGIAq0NfWjbvhR5MuTk2Il5l/ZLGwPp+gtO/9RvVKL8Y57WYokZPLC33lg+bTu3oybToAsd1bv4Zba+QsQIGhFuH2eM9G0DgyaKTVDoqj3QqiD3Xbf0NF4juLhx/v5Quvk1E2fy+T2wwyvy7tTbC7xJqilNqGmsw7S3HkIlFoPUCHquO6an/EZ7ocP41POuFl19yLCDCW/PhYR2WdolxJE8jP1KjWzbYSh/w2hgs5Vwmdf67pJe/49z5/j8EFDkj599a2UoXj8HpjYTeTy5RbVN2M8Z0vsTsZMshk+xTfg5pj4IUx3Q62Qeetw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/CLyHRu4gGKUnhUcghLI/PGVrLwDaHgStMQigwdia4Q=; b=GPQkkodcHMveEao++Rv1kBDC+IoVi9eIFryym23AKw3R/0WPDLtMwxTchTIymCBBHWXkcqbVXr0sCjPwQv/h3/eALHLQNPduVmrC1JLbIPdkVJhVP3XZIMA5bD3ftvNVwVJ8+RO059Czx8hE+uPYhcLKi1XC3ionaONHJivEff8= Authentication-Results: lists.01.org; dkim=none (message not signed) header.d=none;lists.01.org; dmarc=none action=none header.from=oracle.com; Received: from MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) by MWHPR1001MB2366.namprd10.prod.outlook.com (2603:10b6:301:33::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.26; Fri, 23 Jul 2021 07:53:56 +0000 Received: from MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::5820:e42b:73d7:4268]) by MWHPR1001MB2365.namprd10.prod.outlook.com ([fe80::5820:e42b:73d7:4268%7]) with mapi id 15.20.4331.034; Fri, 23 Jul 2021 07:53:56 +0000 Date: Fri, 23 Jul 2021 10:53:36 +0300 From: Dan Carpenter To: kbuild@lists.01.org, Luo bin Cc: lkp@intel.com, kbuild-all@lists.01.org, linux-kernel@vger.kernel.org Subject: [kbuild] drivers/net/ethernet/huawei/hinic/hinic_debugfs.c:92 hinic_dbg_get_func_table() warn: returning -1 instead of -ENOMEM is sloppy Message-ID: <202107231519.Yk44IWtF-lkp@intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Message-ID-Hash: DIX6TGV7MERMSCVFWJNIQHTX72DUJ4YU User-Agent: Mutt/1.9.4 (2018-02-28) X-ClientProxiedBy: JN2P275CA0006.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:3::18) To MWHPR1001MB2365.namprd10.prod.outlook.com (2603:10b6:301:2d::28) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kadam (102.222.70.252) by JN2P275CA0006.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:3::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4352.24 via Frontend Transport; Fri, 23 Jul 2021 07:53:51 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 397e1a27-ee02-4b2c-4358-08d94daf0577 X-MS-TrafficTypeDiagnostic: MWHPR1001MB2366: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:209; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M6oFyBBY+VUUV6wSrQyhWLUTVd9E/6F80b8rbIwWVRXHEp4/QT3BoeDh1U53x+Na68mnQNhzAMWYLeqxpBXRTYgNlCvB+JvuQU1VWBMtaCA3q3P1po5jPYDO22sMJFxM4mGtMMzpMlxwRMQEW0MfiKlrQV5BtGXoVq1JCcna8HYPjYx2Pkn3peJFbNJDOvhRyVVTe8M96o4VWJONvCA0UdSBSN5E8QtxP2NSqIt6UGtN+ZJ2MtzRjQnutGhYD/iYbJQURSATuC2H8CDaFN+ZRXwhrSvOyBQWcz1z7J3MoM6fWnvMtt39mQb7aPJnmBOX6Kl1v05A7u6QZShCEgst7h1Ub/ioAT3avL1E+C0kpe/r9/EWDw1deOY0JUq9HHiaV6OkEPOXrkdcjQ0QW7u/QsEoyGNHgqtUFc1vA+8bcwq+fOVGeqFs+FguzP/59MedqkoL3m/uZyQnDmLONLYNHTviD5BiydqarmpxNPcQu3sJcWV7sVTcNUkKVgqHhYfpXgOWjSOCmHUIUoTyIVsTiaYP4ONq8MSMSrbitbdVpUSuOhqkPWKT+9ICGYOfjR8EbG87MZoJEPEKNUj0BIQrrvev4hez2aF1WTt8KlAv/Xe7MzA1OZKSknbn0x4Kf1NDmnJxR3w2a7aUAfrTJBtYOT4FJCemC3o+17+z4cVnpVxO9BncslkpZsI+r8EOtqNwOe9qm8Lo53yd7LVdw78YDATvwmplDNJBRQH10bzgdg+EgoPMlp9yVSzTWas1nS+PpgZ167ujt0eS6BvsHdYjLizzcFH6Qttl/WnE0JpATZgfN5tPpaLOcTLe6ydCm0pOgoTJ6waiPf8EN3l+f7TgQA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2365.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(396003)(39860400002)(366004)(136003)(346002)(6486002)(186003)(8676002)(36756003)(86362001)(478600001)(38100700002)(9686003)(66476007)(26005)(5660300002)(6916009)(66556008)(52116002)(4326008)(38350700002)(6496006)(8936002)(1076003)(6666004)(44832011)(316002)(2906002)(83380400001)(956004)(966005)(66946007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?o5+ErPc6ddsWPbtCIz/RKFBi9E02NyTCTPuxOY6CQ+S66CcFvL1h81U6srUA?= =?us-ascii?Q?dhlHYRkXtSSXMNR+InO7HuzwXRrimIWUZPNTUQn9gNj0P5XP4xwijSGJx1p1?= =?us-ascii?Q?D2m0rgC5u0vxd38edH8lOKCALZNn4wNnH8JDB5wKP7KebUi+sXUPpuduHyuX?= =?us-ascii?Q?S85JuVYxFDnScyZoB6eJ+s5apeUZd3ost5PG2H9HizUM54Rbakrw+zwWzAEY?= =?us-ascii?Q?bLYcTIQpRA97KI/ydRs7d4dlJZhhtaCpChdTu1+77pam1nVke1vkmy6hkHpa?= =?us-ascii?Q?ZbroC+QN25kdwztn/N7BmDUpj9qn35C5eSsQbhuUhqH2lDgHgK6WyzmLAaeY?= =?us-ascii?Q?zosOOqK+w2lU+m+5GHoSqEjlefgrJgi5+4HuxvfWzCi5GypcNzRv9ojE6tEi?= =?us-ascii?Q?0sP0/ESyohS2Bg1vLfN1zJeC7oeVVOIc2wM0X+2VY/Pgl6mnNpyzm4zqgf0d?= =?us-ascii?Q?/kb7acnrTxE5EGFjmwVxGrPpJFAgY6HAjhAD3nCzGhkx/ZJ08HQMpHnn4y6w?= =?us-ascii?Q?GcyDsiDeghk9NcHpRU97hX62JDGN7GOTXGgaMTOk5RTkJseZa11GwETSBmrf?= =?us-ascii?Q?d85NxrjqsY2N9hB1c1BZnZtz3CJm1IbiwDOucRuAu+tighOdFcdBkoRrVF/P?= =?us-ascii?Q?ltBvV131YN+2vtERTpr3FMGoK6I0YM09HMp4Ky7v/adm/UWObcv0xHSIQqzx?= =?us-ascii?Q?GBfMbGciGX3XWplBDRoi7oRLURtBkO7n6GIGvwR7uVXl6rJdmfVev1EdIqGC?= =?us-ascii?Q?Drcqau78+Yzu9g6pSY/Zqk4IsQ5kinNeaOuypYvq9Qe+/uePysr4a9REfTOq?= =?us-ascii?Q?9J1bWOeGLI1swcANWQEFOtH9L/r4DxnXt6NUqcUBjWJ1jiEIkYh3Dm2dHRWj?= =?us-ascii?Q?TD9s7D79RSQoLCRpFyKMxLPQ5w8Dame2o0pvBkd3gUC0FnvuwICzAR4wZqkB?= =?us-ascii?Q?OrXSVof2++Q+iEFaeab9XPQiboe3DKRON9fnjYyHjy5hFyHwqYzQDLwlemU6?= =?us-ascii?Q?FRFV7/JvqAGlZX9Z60Nmc0HBpgMJ/Gajuh7QyQdN07fmOejEgD0KfzgEiFl7?= =?us-ascii?Q?LGU2xG3NWO5/07g60FpqIOhuip9MVeu88CLy2VP/d9oJm2/4awj8iZLknE+z?= =?us-ascii?Q?kLs+PCM+BHZFKncqKPXJtGPtWliUPOG4dvb1noGhhscmg1SpWK4xMtRJNsV7?= =?us-ascii?Q?tlRdNr6scTGqceGKGmKz0BdPHkZJflTfO9Jl6Vv1xn2NXSJQex4Ak5VyscSA?= =?us-ascii?Q?do63LQBDdieWOYRGWQZJ9f8s2DWHnqtBIEfog9Ztrj6Az63ASpKdR5QWyrsN?= =?us-ascii?Q?IaEBEdfOss3T+UmHi5JFDlQ/?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 397e1a27-ee02-4b2c-4358-08d94daf0577 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jul 2021 07:53:55.9751 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: t6S4xZlKwt/pdBJVtTRP/SZBQz7Z+/E2k1oNFLN7A4O3mczpDCpUw1CAowe4CZbGTaouQwR2PU4Q6IBZdCTqRm7jMz9PQvGWvbEpzWAbphg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1001MB2366 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10053 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 spamscore=0 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2107230045 X-Proofpoint-ORIG-GUID: 3UsMqpwjIC2js1fK44Xre4mU1vL031ci X-Proofpoint-GUID: 3UsMqpwjIC2js1fK44Xre4mU1vL031ci Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 8baef6386baaefb776bdd09b5c7630cf057c51c6 commit: 5215e16244ee5889cc6135381acdbf4cbcb7905a hinic: add support to query function table config: x86_64-randconfig-m001-20210723 (attached as .config) compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/net/ethernet/huawei/hinic/hinic_debugfs.c:92 hinic_dbg_get_func_table() warn: returning -1 instead of -ENOMEM is sloppy vim +92 drivers/net/ethernet/huawei/hinic/hinic_debugfs.c 5215e16244ee58 Luo bin 2020-08-28 83 static int hinic_dbg_get_func_table(struct hinic_dev *nic_dev, int idx) 5215e16244ee58 Luo bin 2020-08-28 84 { 5215e16244ee58 Luo bin 2020-08-28 85 struct tag_sml_funcfg_tbl *funcfg_table_elem; 5215e16244ee58 Luo bin 2020-08-28 86 struct hinic_cmd_lt_rd *read_data; 5215e16244ee58 Luo bin 2020-08-28 87 u16 out_size = sizeof(*read_data); 5215e16244ee58 Luo bin 2020-08-28 88 int err; 5215e16244ee58 Luo bin 2020-08-28 89 5215e16244ee58 Luo bin 2020-08-28 90 read_data = kzalloc(sizeof(*read_data), GFP_KERNEL); 5215e16244ee58 Luo bin 2020-08-28 91 if (!read_data) 5215e16244ee58 Luo bin 2020-08-28 @92 return ~0; ^^^^^^^^^ return -ENOMEM; 5215e16244ee58 Luo bin 2020-08-28 93 5215e16244ee58 Luo bin 2020-08-28 94 read_data->node = TBL_ID_FUNC_CFG_SM_NODE; 5215e16244ee58 Luo bin 2020-08-28 95 read_data->inst = TBL_ID_FUNC_CFG_SM_INST; 5215e16244ee58 Luo bin 2020-08-28 96 read_data->entry_size = HINIC_FUNCTION_CONFIGURE_TABLE_SIZE; 5215e16244ee58 Luo bin 2020-08-28 97 read_data->lt_index = HINIC_HWIF_FUNC_IDX(nic_dev->hwdev->hwif); 5215e16244ee58 Luo bin 2020-08-28 98 read_data->len = HINIC_FUNCTION_CONFIGURE_TABLE_SIZE; 5215e16244ee58 Luo bin 2020-08-28 99 5215e16244ee58 Luo bin 2020-08-28 100 err = hinic_port_msg_cmd(nic_dev->hwdev, HINIC_PORT_CMD_RD_LINE_TBL, read_data, 5215e16244ee58 Luo bin 2020-08-28 101 sizeof(*read_data), read_data, &out_size); 5215e16244ee58 Luo bin 2020-08-28 102 if (err || out_size != sizeof(*read_data) || read_data->status) { 5215e16244ee58 Luo bin 2020-08-28 103 netif_err(nic_dev, drv, nic_dev->netdev, 5215e16244ee58 Luo bin 2020-08-28 104 "Failed to get func table, err: %d, status: 0x%x, out size: 0x%x\n", 5215e16244ee58 Luo bin 2020-08-28 105 err, read_data->status, out_size); 5215e16244ee58 Luo bin 2020-08-28 106 kfree(read_data); 5215e16244ee58 Luo bin 2020-08-28 107 return ~0; return -EIO;? 5215e16244ee58 Luo bin 2020-08-28 108 } 5215e16244ee58 Luo bin 2020-08-28 109 5215e16244ee58 Luo bin 2020-08-28 110 funcfg_table_elem = (struct tag_sml_funcfg_tbl *)read_data->data; 5215e16244ee58 Luo bin 2020-08-28 111 5215e16244ee58 Luo bin 2020-08-28 112 switch (idx) { 5215e16244ee58 Luo bin 2020-08-28 113 case VALID: 5215e16244ee58 Luo bin 2020-08-28 114 return funcfg_table_elem->dw0.bs.valid; 5215e16244ee58 Luo bin 2020-08-28 115 case RX_MODE: 5215e16244ee58 Luo bin 2020-08-28 116 return funcfg_table_elem->dw0.bs.nic_rx_mode; 5215e16244ee58 Luo bin 2020-08-28 117 case MTU: 5215e16244ee58 Luo bin 2020-08-28 118 return funcfg_table_elem->dw1.bs.mtu; 5215e16244ee58 Luo bin 2020-08-28 119 case RQ_DEPTH: 5215e16244ee58 Luo bin 2020-08-28 120 return funcfg_table_elem->dw13.bs.cfg_rq_depth; 5215e16244ee58 Luo bin 2020-08-28 121 case QUEUE_NUM: 5215e16244ee58 Luo bin 2020-08-28 122 return funcfg_table_elem->dw13.bs.cfg_q_num; 5215e16244ee58 Luo bin 2020-08-28 123 } 5215e16244ee58 Luo bin 2020-08-28 124 5215e16244ee58 Luo bin 2020-08-28 125 kfree(read_data); 5215e16244ee58 Luo bin 2020-08-28 126 5215e16244ee58 Luo bin 2020-08-28 127 return ~0; return -EINVAL; 5215e16244ee58 Luo bin 2020-08-28 128 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org _______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-leave@lists.01.org From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============8615608664612885834==" MIME-Version: 1.0 From: kernel test robot Subject: drivers/net/ethernet/huawei/hinic/hinic_debugfs.c:92 hinic_dbg_get_func_table() warn: returning -1 instead of -ENOMEM is sloppy Date: Fri, 23 Jul 2021 15:38:26 +0800 Message-ID: <202107231519.Yk44IWtF-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============8615608664612885834== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org CC: linux-kernel(a)vger.kernel.org TO: Luo bin tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: 8baef6386baaefb776bdd09b5c7630cf057c51c6 commit: 5215e16244ee5889cc6135381acdbf4cbcb7905a hinic: add support to quer= y function table date: 11 months ago :::::: branch date: 4 hours ago :::::: commit date: 11 months ago config: x86_64-randconfig-m001-20210723 (attached as .config) compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/net/ethernet/huawei/hinic/hinic_debugfs.c:92 hinic_dbg_get_func_tab= le() warn: returning -1 instead of -ENOMEM is sloppy vim +92 drivers/net/ethernet/huawei/hinic/hinic_debugfs.c 5215e16244ee58 Luo bin 2020-08-28 82 = 5215e16244ee58 Luo bin 2020-08-28 83 static int hinic_dbg_get_func_table= (struct hinic_dev *nic_dev, int idx) 5215e16244ee58 Luo bin 2020-08-28 84 { 5215e16244ee58 Luo bin 2020-08-28 85 struct tag_sml_funcfg_tbl *funcfg_= table_elem; 5215e16244ee58 Luo bin 2020-08-28 86 struct hinic_cmd_lt_rd *read_data; 5215e16244ee58 Luo bin 2020-08-28 87 u16 out_size =3D sizeof(*read_data= ); 5215e16244ee58 Luo bin 2020-08-28 88 int err; 5215e16244ee58 Luo bin 2020-08-28 89 = 5215e16244ee58 Luo bin 2020-08-28 90 read_data =3D kzalloc(sizeof(*read= _data), GFP_KERNEL); 5215e16244ee58 Luo bin 2020-08-28 91 if (!read_data) 5215e16244ee58 Luo bin 2020-08-28 @92 return ~0; 5215e16244ee58 Luo bin 2020-08-28 93 = 5215e16244ee58 Luo bin 2020-08-28 94 read_data->node =3D TBL_ID_FUNC_CF= G_SM_NODE; 5215e16244ee58 Luo bin 2020-08-28 95 read_data->inst =3D TBL_ID_FUNC_CF= G_SM_INST; 5215e16244ee58 Luo bin 2020-08-28 96 read_data->entry_size =3D HINIC_FU= NCTION_CONFIGURE_TABLE_SIZE; 5215e16244ee58 Luo bin 2020-08-28 97 read_data->lt_index =3D HINIC_HWIF= _FUNC_IDX(nic_dev->hwdev->hwif); 5215e16244ee58 Luo bin 2020-08-28 98 read_data->len =3D HINIC_FUNCTION_= CONFIGURE_TABLE_SIZE; 5215e16244ee58 Luo bin 2020-08-28 99 = 5215e16244ee58 Luo bin 2020-08-28 100 err =3D hinic_port_msg_cmd(nic_dev= ->hwdev, HINIC_PORT_CMD_RD_LINE_TBL, read_data, 5215e16244ee58 Luo bin 2020-08-28 101 sizeof(*read_data), read_data,= &out_size); 5215e16244ee58 Luo bin 2020-08-28 102 if (err || out_size !=3D sizeof(*r= ead_data) || read_data->status) { 5215e16244ee58 Luo bin 2020-08-28 103 netif_err(nic_dev, drv, nic_dev->= netdev, 5215e16244ee58 Luo bin 2020-08-28 104 "Failed to get func table, err= : %d, status: 0x%x, out size: 0x%x\n", 5215e16244ee58 Luo bin 2020-08-28 105 err, read_data->status, out_si= ze); 5215e16244ee58 Luo bin 2020-08-28 106 kfree(read_data); 5215e16244ee58 Luo bin 2020-08-28 107 return ~0; 5215e16244ee58 Luo bin 2020-08-28 108 } 5215e16244ee58 Luo bin 2020-08-28 109 = 5215e16244ee58 Luo bin 2020-08-28 110 funcfg_table_elem =3D (struct tag_= sml_funcfg_tbl *)read_data->data; 5215e16244ee58 Luo bin 2020-08-28 111 = 5215e16244ee58 Luo bin 2020-08-28 112 switch (idx) { 5215e16244ee58 Luo bin 2020-08-28 113 case VALID: 5215e16244ee58 Luo bin 2020-08-28 114 return funcfg_table_elem->dw0.bs.= valid; 5215e16244ee58 Luo bin 2020-08-28 115 case RX_MODE: 5215e16244ee58 Luo bin 2020-08-28 116 return funcfg_table_elem->dw0.bs.= nic_rx_mode; 5215e16244ee58 Luo bin 2020-08-28 117 case MTU: 5215e16244ee58 Luo bin 2020-08-28 118 return funcfg_table_elem->dw1.bs.= mtu; 5215e16244ee58 Luo bin 2020-08-28 119 case RQ_DEPTH: 5215e16244ee58 Luo bin 2020-08-28 120 return funcfg_table_elem->dw13.bs= .cfg_rq_depth; 5215e16244ee58 Luo bin 2020-08-28 121 case QUEUE_NUM: 5215e16244ee58 Luo bin 2020-08-28 122 return funcfg_table_elem->dw13.bs= .cfg_q_num; 5215e16244ee58 Luo bin 2020-08-28 123 } 5215e16244ee58 Luo bin 2020-08-28 124 = 5215e16244ee58 Luo bin 2020-08-28 125 kfree(read_data); 5215e16244ee58 Luo bin 2020-08-28 126 = 5215e16244ee58 Luo bin 2020-08-28 127 return ~0; 5215e16244ee58 Luo bin 2020-08-28 128 } 5215e16244ee58 Luo bin 2020-08-28 129 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============8615608664612885834== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 F7M5WKtyOKmXJClZ/wF0o/9vtWkCAA== --===============8615608664612885834==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============0002003084490631393==" MIME-Version: 1.0 From: Dan Carpenter To: kbuild-all@lists.01.org Subject: [kbuild] drivers/net/ethernet/huawei/hinic/hinic_debugfs.c:92 hinic_dbg_get_func_table() warn: returning -1 instead of -ENOMEM is sloppy Date: Fri, 23 Jul 2021 10:53:36 +0300 Message-ID: <202107231519.Yk44IWtF-lkp@intel.com> List-Id: --===============0002003084490631393== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: 8baef6386baaefb776bdd09b5c7630cf057c51c6 commit: 5215e16244ee5889cc6135381acdbf4cbcb7905a hinic: add support to quer= y function table config: x86_64-randconfig-m001-20210723 (attached as .config) compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/net/ethernet/huawei/hinic/hinic_debugfs.c:92 hinic_dbg_get_func_tab= le() warn: returning -1 instead of -ENOMEM is sloppy vim +92 drivers/net/ethernet/huawei/hinic/hinic_debugfs.c 5215e16244ee58 Luo bin 2020-08-28 83 static int hinic_dbg_get_func_table= (struct hinic_dev *nic_dev, int idx) 5215e16244ee58 Luo bin 2020-08-28 84 { 5215e16244ee58 Luo bin 2020-08-28 85 struct tag_sml_funcfg_tbl *funcfg_= table_elem; 5215e16244ee58 Luo bin 2020-08-28 86 struct hinic_cmd_lt_rd *read_data; 5215e16244ee58 Luo bin 2020-08-28 87 u16 out_size =3D sizeof(*read_data= ); 5215e16244ee58 Luo bin 2020-08-28 88 int err; 5215e16244ee58 Luo bin 2020-08-28 89 = 5215e16244ee58 Luo bin 2020-08-28 90 read_data =3D kzalloc(sizeof(*read= _data), GFP_KERNEL); 5215e16244ee58 Luo bin 2020-08-28 91 if (!read_data) 5215e16244ee58 Luo bin 2020-08-28 @92 return ~0; ^^^^^^^^^ return -ENOMEM; 5215e16244ee58 Luo bin 2020-08-28 93 = 5215e16244ee58 Luo bin 2020-08-28 94 read_data->node =3D TBL_ID_FUNC_CF= G_SM_NODE; 5215e16244ee58 Luo bin 2020-08-28 95 read_data->inst =3D TBL_ID_FUNC_CF= G_SM_INST; 5215e16244ee58 Luo bin 2020-08-28 96 read_data->entry_size =3D HINIC_FU= NCTION_CONFIGURE_TABLE_SIZE; 5215e16244ee58 Luo bin 2020-08-28 97 read_data->lt_index =3D HINIC_HWIF= _FUNC_IDX(nic_dev->hwdev->hwif); 5215e16244ee58 Luo bin 2020-08-28 98 read_data->len =3D HINIC_FUNCTION_= CONFIGURE_TABLE_SIZE; 5215e16244ee58 Luo bin 2020-08-28 99 = 5215e16244ee58 Luo bin 2020-08-28 100 err =3D hinic_port_msg_cmd(nic_dev= ->hwdev, HINIC_PORT_CMD_RD_LINE_TBL, read_data, 5215e16244ee58 Luo bin 2020-08-28 101 sizeof(*read_data), read_data,= &out_size); 5215e16244ee58 Luo bin 2020-08-28 102 if (err || out_size !=3D sizeof(*r= ead_data) || read_data->status) { 5215e16244ee58 Luo bin 2020-08-28 103 netif_err(nic_dev, drv, nic_dev->= netdev, 5215e16244ee58 Luo bin 2020-08-28 104 "Failed to get func table, err= : %d, status: 0x%x, out size: 0x%x\n", 5215e16244ee58 Luo bin 2020-08-28 105 err, read_data->status, out_si= ze); 5215e16244ee58 Luo bin 2020-08-28 106 kfree(read_data); 5215e16244ee58 Luo bin 2020-08-28 107 return ~0; return -EIO;? 5215e16244ee58 Luo bin 2020-08-28 108 } 5215e16244ee58 Luo bin 2020-08-28 109 = 5215e16244ee58 Luo bin 2020-08-28 110 funcfg_table_elem =3D (struct tag_= sml_funcfg_tbl *)read_data->data; 5215e16244ee58 Luo bin 2020-08-28 111 = 5215e16244ee58 Luo bin 2020-08-28 112 switch (idx) { 5215e16244ee58 Luo bin 2020-08-28 113 case VALID: 5215e16244ee58 Luo bin 2020-08-28 114 return funcfg_table_elem->dw0.bs.= valid; 5215e16244ee58 Luo bin 2020-08-28 115 case RX_MODE: 5215e16244ee58 Luo bin 2020-08-28 116 return funcfg_table_elem->dw0.bs.= nic_rx_mode; 5215e16244ee58 Luo bin 2020-08-28 117 case MTU: 5215e16244ee58 Luo bin 2020-08-28 118 return funcfg_table_elem->dw1.bs.= mtu; 5215e16244ee58 Luo bin 2020-08-28 119 case RQ_DEPTH: 5215e16244ee58 Luo bin 2020-08-28 120 return funcfg_table_elem->dw13.bs= .cfg_rq_depth; 5215e16244ee58 Luo bin 2020-08-28 121 case QUEUE_NUM: 5215e16244ee58 Luo bin 2020-08-28 122 return funcfg_table_elem->dw13.bs= .cfg_q_num; 5215e16244ee58 Luo bin 2020-08-28 123 } 5215e16244ee58 Luo bin 2020-08-28 124 = 5215e16244ee58 Luo bin 2020-08-28 125 kfree(read_data); 5215e16244ee58 Luo bin 2020-08-28 126 = 5215e16244ee58 Luo bin 2020-08-28 127 return ~0; return -EINVAL; 5215e16244ee58 Luo bin 2020-08-28 128 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org = _______________________________________________ kbuild mailing list -- kbuild(a)lists.01.org To unsubscribe send an email to kbuild-leave(a)lists.01.org --===============0002003084490631393==--