Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp4549979rdh; Wed, 29 Nov 2023 04:48:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IEGoTeBNUKmpGQf+lUUp30A22+aHz9FMErid3phG6xy2AsVMX/4Jj0+x8F4aU84hT47rmW8 X-Received: by 2002:a05:6a20:4293:b0:18c:e9e:e17c with SMTP id o19-20020a056a20429300b0018c0e9ee17cmr20266699pzj.25.1701262121071; Wed, 29 Nov 2023 04:48:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701262121; cv=none; d=google.com; s=arc-20160816; b=REhAQgusXf3O9+eaOqvrjfIxfJu9Etpff1scg6QlBb23D5vyEPFk5DwR4JV4L8zPpQ 4BmGfNGhQM+nXEk5i9jZUJvA/IPu0tiZgixq3uC3Qp6SNGh88NO9u0j2fNP/zrNGCj/M fvJ+6BFY2nupd6I0pFdjWnxSx+fqnAWmUc7FSnIRUoTpwMOSdFjNYUxSEdnBwYQmuFKk 3mcs/9TEZuj9y8AkV6GRIpU1amAA8iEHdCzDcUaXjpS8zjRh1jT4QYUVxXpoUt2lcP4D hBef8k2o9fZ19uwJBHVttzPwaXAXU3t1fDXF1Lz5LRtsfEG3ytQYMb1LhyKt683MDyej vDDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from; bh=flP/NBFaZ6f5FMr7zujspYJC44WVQ2auB2diak62ifQ=; fh=YSkh0Oy9zpjb5Fg6nCZO+S5vilF1ESdwQsvwgq8X1vM=; b=mT0jhoRqXcaf6h6Lqyhiyq1/797YhtApdNjsVQB5WClHQCuRpuUVH1Hw4Su/N8zn/u 4VORrGmIGMUqlvCNEINOw2cXuxMDlZCMb1j+uKBqH8enqRLCVO8meHD8sEk377RA8avC R9j/q+YWnwp7BahO6SC7gPz2ujrFdlZtgcpVosJBmO00EdeYEgvstbM08pM3mBCN2NPN TOVRjIIKQLycNHAoGrG7MUwEmfqTGgKIltvHZ8GxsuNKObBDQ5mUs/I3fuW+CFBUFM91 A85IfraaIazcMqT7Gi0in8/n1H0tZH1KBhuz5z/huP5M8zhbC7VsMSNYrX7lnw/YRGC/ fvlw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id h20-20020a170902f7d400b001cfc03c0e88si8276752plw.579.2023.11.29.04.48.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 04:48:41 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 0696D804BDF2; Wed, 29 Nov 2023 04:48:37 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230478AbjK2MsV convert rfc822-to-8bit (ORCPT + 99 others); Wed, 29 Nov 2023 07:48:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38838 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229887AbjK2MsU (ORCPT ); Wed, 29 Nov 2023 07:48:20 -0500 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2D02A95; Wed, 29 Nov 2023 04:48:24 -0800 (PST) X-SpamFilter-By: ArmorX SpamTrap 5.78 with qID 3ATClVJf92763797, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36506.realtek.com.tw[172.21.6.27]) by rtits2.realtek.com.tw (8.15.2/2.95/5.92) with ESMTPS id 3ATClVJf92763797 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 29 Nov 2023 20:47:32 +0800 Received: from RTEXDAG01.realtek.com.tw (172.21.6.100) by RTEXH36506.realtek.com.tw (172.21.6.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.17; Wed, 29 Nov 2023 20:47:32 +0800 Received: from RTEXMBS04.realtek.com.tw (172.21.6.97) by RTEXDAG01.realtek.com.tw (172.21.6.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.7; Wed, 29 Nov 2023 20:47:31 +0800 Received: from RTEXMBS04.realtek.com.tw ([fe80::40c2:6c24:2df4:e6c7]) by RTEXMBS04.realtek.com.tw ([fe80::40c2:6c24:2df4:e6c7%5]) with mapi id 15.01.2375.007; Wed, 29 Nov 2023 20:47:31 +0800 From: Hayes Wang To: Douglas Anderson , Jakub Kicinski , "David S . Miller" CC: Laura Nao , Edward Hill , Alan Stern , Grant Grundler , "linux-usb@vger.kernel.org" , Simon Horman , =?iso-8859-1?Q?Bj=F8rn_Mork?= , Eric Dumazet , Paolo Abeni , "linux-kernel@vger.kernel.org" , "netdev@vger.kernel.org" Subject: RE: [PATCH net v2 2/5] r8152: Add RTL8152_INACCESSIBLE checks to more loops Thread-Topic: [PATCH net v2 2/5] r8152: Add RTL8152_INACCESSIBLE checks to more loops Thread-Index: AQHaIkOFTo2WdNHKX0+EoLHKjZ89lbCRNJBw Date: Wed, 29 Nov 2023 12:47:31 +0000 Message-ID: References: <20231128133811.net.v2.1.I77097aa9ec01aeca1b3c75fde4ba5007a17fdf76@changeid> <20231128133811.net.v2.2.I79c8a6c8cafd89979af5407d77a6eda589833dca@changeid> In-Reply-To: <20231128133811.net.v2.2.I79c8a6c8cafd89979af5407d77a6eda589833dca@changeid> Accept-Language: zh-TW, en-US Content-Language: zh-TW x-originating-ip: [172.22.228.6] x-kse-serverinfo: RTEXDAG01.realtek.com.tw, 9 x-kse-antispam-interceptor-info: fallback x-kse-antivirus-interceptor-info: fallback Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-KSE-AntiSpam-Interceptor-Info: fallback X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Wed, 29 Nov 2023 04:48:37 -0800 (PST) Douglas Anderson > Sent: Wednesday, November 29, 2023 5:38 AM [...] > @@ -3000,6 +3000,8 @@ static void rtl8152_nic_reset(struct r8152 *tp) > ocp_write_byte(tp, MCU_TYPE_PLA, PLA_CR, CR_RST); > > for (i = 0; i < 1000; i++) { > + if (test_bit(RTL8152_INACCESSIBLE, &tp->flags)) > + return; > if (!(ocp_read_byte(tp, MCU_TYPE_PLA, PLA_CR) & CR_RST)) > break; > usleep_range(100, 400); > @@ -3329,6 +3331,8 @@ static void rtl_disable(struct r8152 *tp) > rxdy_gated_en(tp, true); > > for (i = 0; i < 1000; i++) { > + if (test_bit(RTL8152_INACCESSIBLE, &tp->flags)) > + return; I think you have to replace return with break. Otherwise, rtl_stop_rx() wouldn't be called. And, you may free the memory which is using, when rtl8152_close () is called. > ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL); > if ((ocp_data & FIFO_EMPTY) == FIFO_EMPTY) > break; > @@ -3336,6 +3340,8 @@ static void rtl_disable(struct r8152 *tp) > } > > for (i = 0; i < 1000; i++) { > + if (test_bit(RTL8152_INACCESSIBLE, &tp->flags)) > + return; Same as above. > if (ocp_read_word(tp, MCU_TYPE_PLA, PLA_TCR0) & TCR0_TX_EMPTY) > break; > usleep_range(1000, 2000); > @@ -5499,6 +5505,8 @@ static void wait_oob_link_list_ready(struct r8152 *tp) > int i; > > for (i = 0; i < 1000; i++) { > + if (test_bit(RTL8152_INACCESSIBLE, &tp->flags)) > + return; > ocp_data = ocp_read_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL); > if (ocp_data & LINK_LIST_READY) > break; > -- Best Regards, Hayes