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 71371C4338F for ; Thu, 5 Aug 2021 15:51:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 523E2603E9 for ; Thu, 5 Aug 2021 15:51:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242648AbhHEPwJ (ORCPT ); Thu, 5 Aug 2021 11:52:09 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]:50090 "EHLO mx0b-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229482AbhHEPwH (ORCPT ); Thu, 5 Aug 2021 11:52:07 -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 175FkpH1020142; Thu, 5 Aug 2021 15:51:46 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=PwPxmgm5xhEwAt2HHkgjh1MtWAjudY4J4elI8nNZXeI=; b=yNuJ1eaZa4Hh8t+0xsW3pyeeinFS6tpAbgJlQFhgCnU67OvVjembVCyfvp5D2blTfOnJ rF8ebqZFoThJwcb557KJfsly/uwt/IWJxbTXY1X7LQDVK0vbcPQN5WQU1TjnS4v9KWhx LmpNZnVMyZ/nQttMLA8ivzyLxtPha5H0xPCHYbd1Ye5wHgA+XeIwSLHAv5/pKFE1kEtQ 0ocG55frYzZSzTAG7v9QLl1xcyaF32ZZK8Eo1gbiIEmPYjTa3fS4Oi8hvF7z9QXcsdbk sirbbpqfzEYCfvcTz5k1DSiGpG/dh5kXxIUi/zcaQNIpzRKZafJA1W55/J0dkybfx6bV xw== 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=PwPxmgm5xhEwAt2HHkgjh1MtWAjudY4J4elI8nNZXeI=; b=M1Fv2gqzvW0LJLLj+zHeemNUxs1IrceLMShk9nzxXstOiXbb2KcGgeVBwVVAtm5DNDph pKDbXyzYjsndBFci3uwPu1Cltvfx2d4Bp+iDgSr0muL4LyAbRZglswLMqsvmZZd11OMV DFWEpC5PLsorQV+kOclbfKH0kR/V5f1q3fxoXnZ8am42HEjTA0Ws+Fd+vVgKO77SWUUT FB63aYul9fk8npa+oKHTha06w3EwXjVCrZk6xueFWgLRZFLl9+NiAxSr5WCicTZeq0hz GKV1K0UWXk5T0FyH5OzLvWL/ife1TEDbIQlqONmgGiLGekW95Vxec3Tt8Y9ASkyt02OP zA== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3a7wquaqrm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Aug 2021 15:51:46 +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 175Fk8Xa092072; Thu, 5 Aug 2021 15:51:45 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 3a7r49y9sy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 05 Aug 2021 15:51:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b1vBt1lTOokugVvD0hYpKSFyw+7P8ASX4q6+hy6O+k0zkPBtHm6vC6ulu5x4CnWCAW3Zm15Flz+GtGZlXZXI1c8fSRPAxl2wPROykZCjCA+fx+u7YX3sZ4YCOx71RnbHY25AV0xNS6uThtSI4Qg2+v8rrPKuAxBMP9JeRnuLvsG3RnjpTspj/J+Vy93yaJNDkWpVGvRTtVv6iKKU5Omz0Qx1C+uWB38/iMnsZSAfZX8bBV3tdujVOY1mvD7UMbQBkeREWzxKn0ERvxC83g8CnxlgSeTPqokJFeS2gQNxQO60Fi5ZutWOOE/jUvdERHtpvVD4cR8N+q0dnhrZbxagtQ== 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=PwPxmgm5xhEwAt2HHkgjh1MtWAjudY4J4elI8nNZXeI=; b=DWnCHpiADkCxt87TCbQGbZcknbrjWM0v7i6xhhT2ABB6igqSbigUdm/gVLH5aDado/MuP4eEnBHouLOwY9wa1c0s+4J+SvI19ExE/uSh/Fq6dHjulIimdOSvZZ0Bqgxu597XbPLeAjqMWDdvq+YUr8ScNb6Y6FhRwN5ji3NFGxgfKUR0RiRFZ8EbnNgljyn+Q56wEtuDL07cvZq5JsEd4ayd+OgodB8RVaijcjDzvxuyYKZrWHT15pT0hgIVM30MGDNXf/XSiBv6emkmieESPDTIs+OUG8Kr1BdRGz6OEiSw2n+6NkJhs6m5QvfiWyLxaDkkFZ2nAGYcekdt/vHe8g== 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=PwPxmgm5xhEwAt2HHkgjh1MtWAjudY4J4elI8nNZXeI=; b=ihUgstXcps2P/kp98rScZW1znmit8pit6BlJGolCka8Qw6qf0aXGRd+ivJRcZV/eV07w36GNJ6kVKnZfnzcyzFt1ImvJZV9zdXjBVu+p7ktqok6n2zxKXD/qnLl5n165wx2gtOdYsYw/hJZjlUxxkX+8E3IKYtCwa1giij/BuhM= 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 CO6PR10MB5409.namprd10.prod.outlook.com (2603:10b6:5:357::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16; Thu, 5 Aug 2021 15:51:43 +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.4373.027; Thu, 5 Aug 2021 15:51:43 +0000 Date: Thu, 5 Aug 2021 18:51:24 +0300 From: Dan Carpenter To: kbuild@lists.01.org, Eran Ben Elisha Cc: lkp@intel.com, kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, Saeed Mahameed Subject: [kbuild] drivers/net/ethernet/mellanox/mlx5/core/cmd.c:1036 wait_func_handle_exec_timeout() warn: should '1 << ent->idx' be a 64 bit type? Message-ID: <202108052103.hfxfjDe3-lkp@intel.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Message-ID-Hash: VIPND7VSSURZHZ2ZWGQV3WO6LVSDSR4K User-Agent: Mutt/1.9.4 (2018-02-28) X-ClientProxiedBy: JNAP275CA0005.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:4c::10) 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 JNAP275CA0005.ZAFP275.PROD.OUTLOOK.COM (2603:1086:0:4c::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.17 via Frontend Transport; Thu, 5 Aug 2021 15:51:38 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 649f0f2d-8ff3-430f-e9bd-08d95828ec1f X-MS-TrafficTypeDiagnostic: CO6PR10MB5409: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:142; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wIowobhruTjvi8mgNU3lDyt9RiVSxyVtsYVRpGbDiYForveCJRkyK8yjOG2vK74kXIrl5NWxtjIUEdwIyBhAirXorgwJ3CtLqITKvKgHKkBc5vRdx2/98X8kCQH2ta4+I29wGX9H6sZL9pU50A0Eqg3bvPhW1NJkXpZguflpngzohGJ33DSV5mAhNgwCJRZYgPJ5XfBKZaHPpZsZ0d7554aCPhFRhaJ6eWBDF4uVNc2dorUHxT2M2wLbvbCO3gQDEdknrKPG9/rfQjBeykNj2LrI2fcZ9JvqwzEguBntjAnNm3ZH0CqD2UKA/jTWOCqGR6olkUsahQ9Zqfm0JMemN8f3dgLoYCpxlXRueFGPgj9F1UR3WK3PdaEPl1JMCQMPSK5mw29fyUsRfpEhE8Xk7DJGdoTAy2NKAzUbXX9QO6Q88QClXnns2X9qjWHzVYiUOGKkjuFo9bMvwyEahK5Rgv5od9jschDEA3glP1VKNz3OkGHcyUz1F74VMJQQrCGuwQ8els1Bgy5IHLld9KuUl04LM86a0XnuAMfLZBIaU6ReKYMukW8/jmpYHPtaqDuSd5uAkiejOiY21+QjPLeHDSMnxOtEWMNOJc9SapNcng5uV6T5xCXb6qj5p1Wgqq24MN5Zaqzu0wpOLjX925vva+bgE0gcTiWtp+QCRI2+WLIpbfFrm6nQk5uxdp1P69F/Zz2m1U1oVRlx3k4YnLgM8ruwTQhjSRDAeIOA5yYzT1hfhgxeAVfILZHC6SsAZcgchqX91uyjDggQdHqaydMGAXrHeup7d/N1Nb/1093CoSOfOxyJTYbCcW9B1lB52/sYtDEF8I0s4MEEU0Csle5pkw== 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:(366004)(44832011)(86362001)(956004)(83380400001)(508600001)(5660300002)(4326008)(36756003)(966005)(38100700002)(38350700002)(6666004)(26005)(6486002)(316002)(8676002)(66556008)(66476007)(9686003)(186003)(1076003)(8936002)(66946007)(6916009)(2906002)(52116002)(6496006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MwnTJ5C3cAyhkROct9f3KYGzQk0UsKJTbVsMhIPfjxSQ60mBbsvwp21Yc77c?= =?us-ascii?Q?jF7TFCPAmh+fr8Byx5tjhPESx2wpYsQsxzbYDgbXYcB2DrrG5iMhLFQOsHjT?= =?us-ascii?Q?eI84hSDupoag4YntwhANPC/vnnAexNDFhC3NPZL7UjJJvfr3JBaBYD0va5+m?= =?us-ascii?Q?aeWm6IHYP5+l2gPMXYgMQkv4g+WuXFw4Ki/hSzd3nSHsBGJEVDZS2H0Ho8bI?= =?us-ascii?Q?H08OvAOAdbtRdlJbJSjpeFPpr4K3mnvu6NEiN6Jth4Ul81K4I+SxC0CQoJ7E?= =?us-ascii?Q?hll27j3xiEY2MyeaZ6Y756b6WB43mW3TwEEUiYlu3zvAYnft9gYXN5+GkoGb?= =?us-ascii?Q?mXDzfJ2iwnNuJ6xDuLEsCVcaS6l19eBZmzAxK1lWnYJaE/WEGyvxIa4pCdWt?= =?us-ascii?Q?PafHmh4WfN9Ntf147VvARDmsBn1AdWLgFE/Qar0dIuXp39Gt8Pp07ZHe9bl6?= =?us-ascii?Q?VOugZSZwyUQuDAwYCkHyFJs7beRP0rl293eLSssQ5rivmjjvzuqt/K7RtevU?= =?us-ascii?Q?4FFvD0Li/cBXnbbXREHK4aL7KFP/ZKHmXusvSH875rZgbIAQQx91lSCRbMtV?= =?us-ascii?Q?KkLmbG/1JZ73xQ9Pu2dOZkcmv+w3lZEMSSG70pGsXjP5nUiGykIBgt71sivr?= =?us-ascii?Q?eKpLDxqfluvjeL00Tjf6UwItqAwdPez6RFzMinSuICRSgEDJeX4fJt9VCAss?= =?us-ascii?Q?89Td640q/bMU51JPAxoa5VJUKjUm0Fq/e32FCypSLcxSbvW/2FG+Jru7+J6C?= =?us-ascii?Q?PfuwB02mHbZNkUnxgbIzwrc8LuI9ipr/TEeL5lDizi/cxOESxacXsTvMFpXf?= =?us-ascii?Q?WzevtpOsTAJudXVUSshaz7hOFTlwTzg0bPw2+SDKHTHB89+Bu7rZ1CwpCATa?= =?us-ascii?Q?ylUNYc7qyQ2BC4cqYED0SlZ6LVbmLuNFaWZf7SexZLq5i2BHt4eGcRZzHfaZ?= =?us-ascii?Q?Ut32x4w5ZgGa7fKHW0GxwiJm5/MYPNxb63mIiyAO6/637mbX/lp4iZ8xsoPp?= =?us-ascii?Q?WItRarSI47KooNOVozcYBEfyXkPjKdxB/tHfw5Xz3y0n3iCPay4LbOaXwgSu?= =?us-ascii?Q?e9qqhtr9TNJc4ruSMlSSXq43aZqFIWM2btpE0dQZAdQ0Fx2YL6YDKZxVG+T2?= =?us-ascii?Q?r7NQ/4VypOhZtow+ZrjM1Vfr95GFtP3c+3cCSR+9TBEDDcbOt6Q2Od7scxBY?= =?us-ascii?Q?lPQWDA6tzClOrlbWTMCEgqjDUD1qbGM4aU4U9C2fJCJ7g/L2AAWsSXqx7D/H?= =?us-ascii?Q?s5G21d7+JzLxj2gsm8WQx90metmtdjjqiiNRDvMaN4QoxIo52pn1MVqV/fzL?= =?us-ascii?Q?y0GHR1O1ILi9tGxC5BAl7F6b?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 649f0f2d-8ff3-430f-e9bd-08d95828ec1f X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2365.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 15:51:43.6254 (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: V2A3lmetkdv8jNqa/nm5JYa+MZalJqNWCkaKc4w9OII6hZBCFnx00ZtCIBLsF3WHTkJluM7UhkFdO02/aRZCRZ0YIjKZgh7ULK9dsqhSXnY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR10MB5409 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10067 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 adultscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108050096 X-Proofpoint-GUID: 02nEN88Y-ADSL0wQv1hcYAygyvk37tw0 X-Proofpoint-ORIG-GUID: 02nEN88Y-ADSL0wQv1hcYAygyvk37tw0 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: 251a1524293d0a90c4d5060f65f42a3016280049 commit: 1d5558b1f0de81f54ddee05f3793acc5260d107f net/mlx5: poll cmd EQ in case of command timeout config: i386-randconfig-m021-20210804 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/net/ethernet/mellanox/mlx5/core/cmd.c:1036 wait_func_handle_exec_timeout() warn: should '1 << ent->idx' be a 64 bit type? Old smatch warnings: drivers/net/ethernet/mellanox/mlx5/core/cmd.c:868 cb_timeout_handler() warn: should '1 << ent->idx' be a 64 bit type? drivers/net/ethernet/mellanox/mlx5/core/cmd.c:962 cmd_work_handler() warn: should '1 << ent->idx' be a 64 bit type? drivers/net/ethernet/mellanox/mlx5/core/cmd.c:976 cmd_work_handler() warn: should '1 << ent->idx' be a 64 bit type? drivers/net/ethernet/mellanox/mlx5/core/cmd.c:976 cmd_work_handler() warn: inconsistent returns 'sem'. (It's hard to see where the semaphore is released in cmd_work_handler(). Add comments?) drivers/net/ethernet/mellanox/mlx5/core/cmd.c:1417 outlen_write() warn: sscanf doesn't return error codes vim +1036 drivers/net/ethernet/mellanox/mlx5/core/cmd.c 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1014 static void wait_func_handle_exec_timeout(struct mlx5_core_dev *dev, 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1015 struct mlx5_cmd_work_ent *ent) 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1016 { 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1017 unsigned long timeout = msecs_to_jiffies(MLX5_CMD_TIMEOUT_RECOVER_MSEC); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1018 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1019 mlx5_cmd_eq_recover(dev); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1020 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1021 /* Re-wait on the ent->done after executing the recovery flow. If the 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1022 * recovery flow (or any other recovery flow running simultaneously) 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1023 * has recovered an EQE, it should cause the entry to be completed by 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1024 * the command interface. 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1025 */ 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1026 if (wait_for_completion_timeout(&ent->done, timeout)) { 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1027 mlx5_core_warn(dev, "cmd[%d]: %s(0x%x) recovered after timeout\n", ent->idx, 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1028 mlx5_command_str(msg_to_opcode(ent->in)), msg_to_opcode(ent->in)); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1029 return; 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1030 } 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1031 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1032 mlx5_core_warn(dev, "cmd[%d]: %s(0x%x) No done completion\n", ent->idx, 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1033 mlx5_command_str(msg_to_opcode(ent->in)), msg_to_opcode(ent->in)); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1034 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1035 ent->ret = -ETIMEDOUT; 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 @1036 mlx5_cmd_comp_handler(dev, 1UL << ent->idx, true); ^^^^^^^^^^^^^^^ This should be "1ULL << ent->idx". 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1037 } --- 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="===============1337306486822333395==" MIME-Version: 1.0 From: kernel test robot Subject: drivers/net/ethernet/mellanox/mlx5/core/cmd.c:1036 wait_func_handle_exec_timeout() warn: should '1 << ent->idx' be a 64 bit type? Date: Thu, 05 Aug 2021 21:53:12 +0800 Message-ID: <202108052103.hfxfjDe3-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============1337306486822333395== 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: Eran Ben Elisha CC: Saeed Mahameed tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: 251a1524293d0a90c4d5060f65f42a3016280049 commit: 1d5558b1f0de81f54ddee05f3793acc5260d107f net/mlx5: poll cmd EQ in c= ase of command timeout date: 10 months ago :::::: branch date: 18 hours ago :::::: commit date: 10 months ago config: i386-randconfig-m021-20210804 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/net/ethernet/mellanox/mlx5/core/cmd.c:1036 wait_func_handle_exec_ti= meout() warn: should '1 << ent->idx' be a 64 bit type? Old smatch warnings: drivers/net/ethernet/mellanox/mlx5/core/cmd.c:868 cb_timeout_handler() warn= : should '1 << ent->idx' be a 64 bit type? drivers/net/ethernet/mellanox/mlx5/core/cmd.c:962 cmd_work_handler() warn: = should '1 << ent->idx' be a 64 bit type? drivers/net/ethernet/mellanox/mlx5/core/cmd.c:976 cmd_work_handler() warn: = should '1 << ent->idx' be a 64 bit type? drivers/net/ethernet/mellanox/mlx5/core/cmd.c:976 cmd_work_handler() warn: = inconsistent returns 'sem'. drivers/net/ethernet/mellanox/mlx5/core/cmd.c:1297 mlx5_alloc_cmd_msg() war= n: passing a valid pointer to 'PTR_ERR' drivers/net/ethernet/mellanox/mlx5/core/cmd.c:1417 outlen_write() warn: ssc= anf doesn't return error codes vim +1036 drivers/net/ethernet/mellanox/mlx5/core/cmd.c 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1013 = 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1014 static void wait_func_hand= le_exec_timeout(struct mlx5_core_dev *dev, 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1015 struct mlx5_cmd_wor= k_ent *ent) 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1016 { 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1017 unsigned long timeout =3D= msecs_to_jiffies(MLX5_CMD_TIMEOUT_RECOVER_MSEC); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1018 = 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1019 mlx5_cmd_eq_recover(dev); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1020 = 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1021 /* Re-wait on the ent->do= ne after executing the recovery flow. If the 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1022 * recovery flow (or any = other recovery flow running simultaneously) 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1023 * has recovered an EQE, = it should cause the entry to be completed by 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1024 * the command interface. 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1025 */ 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1026 if (wait_for_completion_t= imeout(&ent->done, timeout)) { 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1027 mlx5_core_warn(dev, "cmd= [%d]: %s(0x%x) recovered after timeout\n", ent->idx, 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1028 mlx5_command_str= (msg_to_opcode(ent->in)), msg_to_opcode(ent->in)); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1029 return; 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1030 } 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1031 = 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1032 mlx5_core_warn(dev, "cmd[= %d]: %s(0x%x) No done completion\n", ent->idx, 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1033 mlx5_command_str(= msg_to_opcode(ent->in)), msg_to_opcode(ent->in)); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1034 = 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1035 ent->ret =3D -ETIMEDOUT; 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 @1036 mlx5_cmd_comp_handler(dev= , 1UL << ent->idx, true); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1037 } 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1038 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============1337306486822333395== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 UPV6CE1C4xnAylSTh27/B+F9i3WcMwIA --===============1337306486822333395==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7922824214758196439==" MIME-Version: 1.0 From: Dan Carpenter To: kbuild-all@lists.01.org Subject: [kbuild] drivers/net/ethernet/mellanox/mlx5/core/cmd.c:1036 wait_func_handle_exec_timeout() warn: should '1 << ent->idx' be a 64 bit type? Date: Thu, 05 Aug 2021 18:51:24 +0300 Message-ID: <202108052103.hfxfjDe3-lkp@intel.com> List-Id: --===============7922824214758196439== 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: 251a1524293d0a90c4d5060f65f42a3016280049 commit: 1d5558b1f0de81f54ddee05f3793acc5260d107f net/mlx5: poll cmd EQ in c= ase of command timeout config: i386-randconfig-m021-20210804 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter New smatch warnings: drivers/net/ethernet/mellanox/mlx5/core/cmd.c:1036 wait_func_handle_exec_ti= meout() warn: should '1 << ent->idx' be a 64 bit type? Old smatch warnings: drivers/net/ethernet/mellanox/mlx5/core/cmd.c:868 cb_timeout_handler() warn= : should '1 << ent->idx' be a 64 bit type? drivers/net/ethernet/mellanox/mlx5/core/cmd.c:962 cmd_work_handler() warn: = should '1 << ent->idx' be a 64 bit type? drivers/net/ethernet/mellanox/mlx5/core/cmd.c:976 cmd_work_handler() warn: = should '1 << ent->idx' be a 64 bit type? drivers/net/ethernet/mellanox/mlx5/core/cmd.c:976 cmd_work_handler() warn: = inconsistent returns 'sem'. (It's hard to see where the semaphore is released in cmd_work_handler(). = Add comments?) drivers/net/ethernet/mellanox/mlx5/core/cmd.c:1417 outlen_write() warn: ssc= anf doesn't return error codes vim +1036 drivers/net/ethernet/mellanox/mlx5/core/cmd.c 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1014 static void wait_func_hand= le_exec_timeout(struct mlx5_core_dev *dev, 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1015 struct mlx5_cmd_wor= k_ent *ent) 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1016 { 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1017 unsigned long timeout =3D= msecs_to_jiffies(MLX5_CMD_TIMEOUT_RECOVER_MSEC); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1018 = 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1019 mlx5_cmd_eq_recover(dev); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1020 = 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1021 /* Re-wait on the ent->do= ne after executing the recovery flow. If the 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1022 * recovery flow (or any = other recovery flow running simultaneously) 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1023 * has recovered an EQE, = it should cause the entry to be completed by 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1024 * the command interface. 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1025 */ 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1026 if (wait_for_completion_t= imeout(&ent->done, timeout)) { 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1027 mlx5_core_warn(dev, "cmd= [%d]: %s(0x%x) recovered after timeout\n", ent->idx, 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1028 mlx5_command_str= (msg_to_opcode(ent->in)), msg_to_opcode(ent->in)); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1029 return; 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1030 } 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1031 = 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1032 mlx5_core_warn(dev, "cmd[= %d]: %s(0x%x) No done completion\n", ent->idx, 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1033 mlx5_command_str(= msg_to_opcode(ent->in)), msg_to_opcode(ent->in)); 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1034 = 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1035 ent->ret =3D -ETIMEDOUT; 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 @1036 mlx5_cmd_comp_handler(dev= , 1UL << ent->idx, true); = ^^^^^^^^^^^^^^^ This should be "1ULL << ent->idx". 1d5558b1f0de81 Eran Ben Elisha 2020-07-21 1037 } --- 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 --===============7922824214758196439==--