From patchwork Tue Jan 2 18:19:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Jonas_Dre=C3=9Fler?= X-Patchwork-Id: 184412 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp4609564dyb; Tue, 2 Jan 2024 10:21:05 -0800 (PST) X-Google-Smtp-Source: AGHT+IEBoKM5nlE6MaZN/c42NfFvQCVtXAZ0iTSfT2Cg53OFDe3XUSMLemxJs0+3vAYlUKw2jKKJ X-Received: by 2002:a25:ae65:0:b0:dbd:1254:414f with SMTP id g37-20020a25ae65000000b00dbd1254414fmr6232252ybe.42.1704219665245; Tue, 02 Jan 2024 10:21:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704219665; cv=none; d=google.com; s=arc-20160816; b=RNzmRpU+on1PxM9oDL535d8NdP6TXOPOiA9lrVzcVR3Ogx9BQoGCawX8lwkPezajfj DIl9ssabriKYH3ObZfrPYXX5+tHBU03VIyDqVlBGUQdnMhmHkrRkYkVpkET/Bi/lFC1R YacSKKHJS9v2TOFvdBp72GZMprkYbEMkeEtRa+f7HxtAclmKCpQSvZofuI9HvNUwyvyP XxNB1R4YeKv9rrxOZnK/q6NYXjBhG3pTwsHlmlFjKAwG8NcvxvanIHAxBtPC1p4fh/8M n5ZoXnERoJjyNd1V/twTZfPVWriG7l96IGeI0AjQS5rO8ixD7mX9IRkvMaXuaxLIXI/z CRMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from; bh=87+jM2180EUyQlCWJD7RFO6Vd7lJRZXroSxhcNUu254=; fh=S5rf2bc7VLlSXYQ0EqFAIodb1qEiUfsxulvZhQKZRws=; b=mKWXIamLhYtUrzoRiU27kHy4TJkY6zR3cj3lesFG0UkyEwwPg8OaeDaI/QUG/cL4eS 3H+kpkefgs9A52mte3KD2g3d+HGSNC7VJ1I/UjcBsF/zKvcmtWIpGmqIRzq3bjQNNx1w kUv52pLabsQ72BeaGbtGnr7ZYo2JM5GK9orgJ0f4INfH3+wTqT6vYbCUIpu8TDCWQvXd JR9mIZCQ03zlXypV17SwXrXc0YwWiMtdMOLWlEoVnIartNN2/x5mr/gffjdMs1tqNXHc slLjP41BfjJNBgKRRIxHUiJC8iNQ+hY1RlppXJ059xjQ4mLHYUsx2YDktUheEPGKa/nv HqTw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-14702-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-14702-ouuuleilei=gmail.com@vger.kernel.org" Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id l19-20020a05620a28d300b0077f5e12ded1si29144848qkp.618.2024.01.02.10.21.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jan 2024 10:21:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-14702-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-14702-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-14702-ouuuleilei=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 0BE8A1C228AF for ; Tue, 2 Jan 2024 18:21:05 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 71A371641E; Tue, 2 Jan 2024 18:19:59 +0000 (UTC) X-Original-To: linux-kernel@vger.kernel.org Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [80.241.56.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B382156FB; Tue, 2 Jan 2024 18:19:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=v0yd.nl Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=v0yd.nl Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4T4Ljh4gf0z9sWQ; Tue, 2 Jan 2024 19:19:52 +0100 (CET) From: =?utf-8?q?Jonas_Dre=C3=9Fler?= To: Marcel Holtmann , Johan Hedberg , Luiz Augusto von Dentz Cc: =?utf-8?q?Jonas_Dre=C3=9Fler?= , asahi@lists.linux.dev, linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH v2 2/4] Bluetooth: mgmt: Remove leftover queuing of power_off work Date: Tue, 2 Jan 2024 19:19:18 +0100 Message-ID: <20240102181946.57288-3-verdre@v0yd.nl> In-Reply-To: <20240102181946.57288-1-verdre@v0yd.nl> References: <20240102181946.57288-1-verdre@v0yd.nl> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1787003839790115391 X-GMAIL-MSGID: 1787003839790115391 Queuing of power_off work was introduced in these functions with commits 8b064a3ad377c016a17e74f676e7a204c2b8c9f2 and c9910d0fb4fc2ede468b26d45a1d50c309897770 in an effort to clean up state and do things like disconnecting devices before actually powering off the device. After that, commit a3172b7eb4a2719711187cfca12097d2326e85a7 introduced a timeout to ensure that the device actually got powered off, even if some of the cleanup work would never complete. This code later got refactored with commit cf75ad8b41d2aa06f98f365d42a3ae8b059daddd, which made powering off the device synchronous and removed the need for initiating the power_off work from other places. The timeout mentioned above got removed too, because we now also made use of the command timeout during power on/off. These days the power_off work still exists, but it only seems to only be used for HCI_AUTO_OFF functionality, which is why we never noticed those two leftover places where we queue power_off work. So let's remove that code. Signed-off-by: Jonas Dreßler --- net/bluetooth/mgmt.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c index d4498037f..c5291e139 100644 --- a/net/bluetooth/mgmt.c +++ b/net/bluetooth/mgmt.c @@ -9760,14 +9760,6 @@ void mgmt_device_disconnected(struct hci_dev *hdev, bdaddr_t *bdaddr, struct mgmt_ev_device_disconnected ev; struct sock *sk = NULL; - /* The connection is still in hci_conn_hash so test for 1 - * instead of 0 to know if this is the last one. - */ - if (mgmt_powering_down(hdev) && hci_conn_count(hdev) == 1) { - cancel_delayed_work(&hdev->power_off); - queue_work(hdev->req_workqueue, &hdev->power_off.work); - } - if (!mgmt_connected) return; @@ -9824,14 +9816,6 @@ void mgmt_connect_failed(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type, { struct mgmt_ev_connect_failed ev; - /* The connection is still in hci_conn_hash so test for 1 - * instead of 0 to know if this is the last one. - */ - if (mgmt_powering_down(hdev) && hci_conn_count(hdev) == 1) { - cancel_delayed_work(&hdev->power_off); - queue_work(hdev->req_workqueue, &hdev->power_off.work); - } - bacpy(&ev.addr.bdaddr, bdaddr); ev.addr.type = link_to_bdaddr(link_type, addr_type); ev.status = mgmt_status(status);