Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp10646562rwl; Mon, 2 Jan 2023 06:05:45 -0800 (PST) X-Google-Smtp-Source: AMrXdXuHx4nOtIAiiilZAdRJi/m74YinjmQG7epcENWVO+kw3RlKqGeM8JOPhM/wRKiX7HwaPyCz X-Received: by 2002:a05:6a00:993:b0:581:c2d3:dc5e with SMTP id u19-20020a056a00099300b00581c2d3dc5emr22285073pfg.11.1672668345424; Mon, 02 Jan 2023 06:05:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672668345; cv=none; d=google.com; s=arc-20160816; b=ULlSztEZQjSW19/tItvg72LkHc99/XllJ1mZ6XcHRyMxh/71Lgcp0QbWrGWv9wCMIV xGvlG4UtWyvhOHqKI8TDJnnU4ZlVp61ScdEBYSmjEU73RL+9MvOb7GiO5uTckq1B5BOG /nktTbLBGmUY/Bg5BS13ysZWQX5QMOB6w6ahaPEwYdGs/7cdA1cnagoLBajssayzUEKz 5HZjuHwiZ7PkET2vg9n6xe6HZD7oFIIvp05JNxKmggAtYG42qreI0HRxY9ga9Es/9oNO 9BOjMCvpKReFny+kFA0ppCRre1BbTS55BgHlJtV6dg1SSQRovC6SIOULAtUYnTY3u1IU bHew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id; bh=VJhid37k7D4342oZMqVdOzSh1IWMxwkAmoL5bfAfb5c=; b=bYSmmBgBnY5sST+9vsrTfDQCiPlm2Y81bmDSFfbwBY11pUe/nHhotaPTbHLygBJPuN tlTkt+z09R85J8MlDELF9y4oJXpIE8LrkEzNt+QzyGo6NRuTQ3hGLEWMJWgNJN8tRMrA wuif0DEFytoHHNSBDL2TujnondUn8WpLgrCnSC0M3DiuKi8mPdJLozMQsMuLKNVt6rRW SxVY+5R+oqZnX7ZViTK3Wwa1V2jZrmYV0Z3wdxX13eM6/Aa3TE4zu08ae9vDB2tGcXii u1BIaUsttk+7VShJC+BjboHVOiXcQWJ2Q7YsEUshu7pJgJcOsJ0C3klYd0vLJzM+airV W0XA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x1-20020a056a00188100b0057de6994213si32509448pfh.114.2023.01.02.06.05.37; Mon, 02 Jan 2023 06:05:45 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232546AbjABOAT (ORCPT + 66 others); Mon, 2 Jan 2023 09:00:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49468 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230205AbjABOAR (ORCPT ); Mon, 2 Jan 2023 09:00:17 -0500 Received: from out20-63.mail.aliyun.com (out20-63.mail.aliyun.com [115.124.20.63]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6A39E263 for ; Mon, 2 Jan 2023 06:00:15 -0800 (PST) X-Alimail-AntiSpam: AC=CONTINUE;BC=0.235798|-1;CH=green;DM=|CONTINUE|false|;DS=CONTINUE|ham_system_inform|0.0487568-0.0152389-0.936004;FP=0|0|0|0|0|-1|-1|-1;HT=ay29a033018047203;MF=aiden.leong@aibsd.com;NM=1;PH=DS;RN=7;RT=7;SR=0;TI=SMTPD_---.QihWJey_1672668011; Received: from 192.168.31.192(mailfrom:aiden.leong@aibsd.com fp:SMTPD_---.QihWJey_1672668011) by smtp.aliyun-inc.com; Mon, 02 Jan 2023 22:00:12 +0800 Message-ID: <708fad8b-0419-ae7f-8586-7da58b50d925@aibsd.com> Date: Mon, 2 Jan 2023 22:00:11 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [PATCH 2/2] iwlwifi: pcie: add support for AX101NGW To: "Greenman, Gregory" , "linux-wireless@vger.kernel.org" Cc: "kvalo@kernel.org" , "edumazet@google.com" , "davem@davemloft.net" , "kuba@kernel.org" , "pabeni@redhat.com" References: <20230102024038.2915-1-aiden.leong@aibsd.com> <00a7a47051ead3032f383868248d89e56d3617f4.camel@intel.com> Content-Language: en-US From: Aiden Leong In-Reply-To: <00a7a47051ead3032f383868248d89e56d3617f4.camel@intel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org 1. Please have a look at the second commit: https://lore.kernel.org/linux-wireless/iwlwifi.20200323151304.ec4f463bde60.I14e9146a99621ff11ce50bc746a4b88af508fee0@changeid/ Find the `goto found;` statement. The logic was to find the FIRST match then break with `goto found`. The refactor code removed the `goto` statement which is incorrect. 2. Let's go back to the first commit: https://lore.kernel.org/linux-wireless/iwlwifi.20211024165252.abd85e1391cb.I7681fe90735044cc1c59f120e8591b7ac125535d@changeid/ > We don't want to change the semantics ("most generic entry must come first") That `semantics` was mislead by the previous commit. On 2023/1/2 21:35, Greenman, Gregory wrote: > On Mon, 2023-01-02 at 10:40 +0800, Aiden Leong wrote: >> Revert: >> commit 3f7320428fa4 ("iwlwifi: pcie: simplify iwl_pci_find_dev_info()") >> >> A bug was introduced by: >> commit 32ed101aa140 ("iwlwifi: convert all Qu with Jf devices to the new >> config table"), >> where a goto statement was removed. > Not sure I undestand what problem reversing the "for" loop solves. > >> Signed-off-by: Aiden Leong >> --- >> Notice: >> Please run further tests before merging. I'm NOT familiar with device >> drivers. >> --- >>  drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 2 +- >>  1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c >> index a46df1320372..5d74adbd49cf 100644 >> --- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c >> +++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c >> @@ -1461,7 +1461,7 @@ iwl_pci_find_dev_info(u16 device, u16 subsystem_device, >>         if (!num_devices) >>                 return NULL; >> >> -       for (i = num_devices - 1; i >= 0; i--) { >> +       for (i = 0; i < num_devices; i++) { >>                 const struct iwl_dev_info *dev_info = &iwl_dev_info_table[i]; >> >>                 if (dev_info->device != (u16)IWL_CFG_ANY &&