Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp60393ybh; Fri, 17 Jul 2020 18:42:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJywdDgqSsHIpla0iGOVYLPoTb/niAAmMJcqhPXbvkVUH8uNacfdiDuotZ3XbM8Qzm9lhE9t X-Received: by 2002:a17:906:7d1:: with SMTP id m17mr11700413ejc.490.1595036550607; Fri, 17 Jul 2020 18:42:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595036550; cv=none; d=google.com; s=arc-20160816; b=Aw5IGBZAiGeZ0xEUBxT1vc5WDJ+nwB9t1XzrhFZaUn/6ANmhvJb+Smz0K3/LMmerR4 +DBU4ikwaRw2+fbZvvbZdPbuywNIsklSQcBQ5RMIPH8usrN3gXpSYO7XZJFvjHNcj5kr emSzFUZqKUzDluSggG7cQUeMIYOR7Yk64X4TMlFvmXjckHr4H7RGCOGhsaoqLI5FJTxN ial7qtQQHTtVUo6aNv5fb70UjVmC78HlPrbc9E3xrIxUua3n1G8FgWwSKW9kkUBo0VZB meK2s3UIdgTeQFKE/cDwbY7zfIGmQaFSJi4e3ieZMOmnAA/mvnVzfuWnYqvPzAF0borD yW4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:from:subject:cc:to:message-id:date; bh=qmyh6KqNXzvDeaU3Jik5A0XKrpxuuPwcDGm1Xk6aZ7U=; b=TT+6Rb3/m/rB36tB/bpVo7iK9Zf6pISLlvKi+ROsFMn5yEsJpCNemwFcGqkxUodPa+ 6AUhtQLh+HAeCmOmCAjZ2uhm8d3SpAUlaFl6CeCvS9TCCAxColmsQdKxyH5f1zCN9YVp M1dBsFEJmDP6x/a4unR+AG4lK+De0FE8GvDHMMJnpoDrjTkoNrBnzh7l4r/yX6TWJrTz 8M7oqRWmNRyM1S67FsAE72bgwm+0PvGKMe2iqa27jOkvTk71Q3d3Yi4LdyVHvc5+dybb SdKkXtMolOCfPm7Hj6kWO5dYA0V1Vol7HpjLLxqh1sYwlmnNQGExReeSoT22oAXoqTLt damQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i26si6458463eja.98.2020.07.17.18.42.08; Fri, 17 Jul 2020 18:42:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728739AbgGRBjP (ORCPT + 99 others); Fri, 17 Jul 2020 21:39:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34378 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726710AbgGRBjO (ORCPT ); Fri, 17 Jul 2020 21:39:14 -0400 Received: from shards.monkeyblade.net (shards.monkeyblade.net [IPv6:2620:137:e000::1:9]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BAA5EC0619D2; Fri, 17 Jul 2020 18:39:14 -0700 (PDT) Received: from localhost (unknown [IPv6:2601:601:9f00:477::3d5]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 005E011E45910; Fri, 17 Jul 2020 18:39:13 -0700 (PDT) Date: Fri, 17 Jul 2020 18:39:13 -0700 (PDT) Message-Id: <20200717.183913.1150846066923869608.davem@davemloft.net> To: wanghai38@huawei.com Cc: vishal@chelsio.com, kuba@kernel.org, jeff@garzik.org, divy@chelsio.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] net: cxgb3: add missed destroy_workqueue in cxgb3 probe failure From: David Miller In-Reply-To: <20200717062117.8941-1-wanghai38@huawei.com> References: <20200717062117.8941-1-wanghai38@huawei.com> X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Fri, 17 Jul 2020 18:39:14 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Wang Hai Date: Fri, 17 Jul 2020 14:21:17 +0800 > The driver forgets to call destroy_workqueue when cxgb3 probe fails. > Add the missed calls to fix it. > > Fixes: 4d22de3e6cc4 ("Add support for the latest 1G/10G Chelsio adapter, T3.") > Reported-by: Hulk Robot > Signed-off-by: Wang Hai You have to handle the case that the probing of one or more devices fails yet one or more others succeed. And you can't know in advance how this will play out. This is why the workqueue is unconditionally created, and only destroyed on module remove.