From patchwork Tue Feb 6 11:08:12 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: 19994 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:168b:b0:106:860b:bbdd with SMTP id ma11csp1464515dyb; Tue, 6 Feb 2024 03:11:08 -0800 (PST) X-Google-Smtp-Source: AGHT+IEFbhgMWnzyWE/C4BSVbhpMhUWYC3YeI3GQIuQmEBiBuznOS45uNQKvVjgy4ByhnEegGqkW X-Received: by 2002:a17:907:3fa4:b0:a38:2bef:611e with SMTP id hr36-20020a1709073fa400b00a382bef611emr1129984ejc.49.1707217867877; Tue, 06 Feb 2024 03:11:07 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707217867; cv=pass; d=google.com; s=arc-20160816; b=Mu78jDd/T5WnjQpSo0BMAfob3qv4lVKzqpSPWnxNeJFm5+k5JKcr0z5JenGwE7ivf+ s5KcxryRpOQTWyEZ7n127E0MrsI2OB8TwvdIh/0UDaow4Xa0Sgzss4QrvRDMZBHEr9P4 0Rxc09F7UsybRYo+CBk9P8tXht1+VWD51VLPf32++EzhCwzLJ4mylqBKVS74xAhDVqQD VT0OFwaJ557DLB6x2rdPDgx07FkIIB2n0A9SlymWJEsw2SiXSBgKbv1dshIpAZ0BWRw1 c58IG0taM49folFyWy8GgX/RKWpTadq/v36SSW+aHJ9Sr3o8Ecd/2voeMycVCiye9g/p kZfA== ARC-Message-Signature: i=2; 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:message-id:date:subject:cc:to :from; bh=O32+myH/Zjt7SPI7DuEt8DrMl74Rc1lFtgV5YuhcNqg=; fh=8voet8pcu5WdKDhRjpS4EaaQG4rjXXhLG67mgWOHFFU=; b=M2kUU5rj+Qw2tmJgDpglJdVbHTCRXIHEPUPMWFnlDZp4j/nJgTuzQ+zXsLTwiAmRZj pZstPj6gTC12RsdkcvN4cBAx+LeHzDLANd5BUTfWSE2v1PhvtkX7Qfpvt7J3vzRXLawM Y4GItTCkSJsrW19M1E7pwerQGBFpOf3D9+UJL8mf9PPp6QAf+4xJ1p+8F/9mf66q+h9H oKvQ7/oEDYmwiwOfc5dWF5V8CSofHN2E5JzHXqFuNm/xTD7Y0Rx8iJJuP2KBnb109SL7 8hLPnYYqrPVMzFBWCIgkPdwXD4lqyEnWtwboMeSrGy51T0gMH6LT96/9IpATfeRhL0Aw Hvdg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=v0yd.nl); spf=pass (google.com: domain of linux-kernel+bounces-54747-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-54747-ouuuleilei=gmail.com@vger.kernel.org" X-Forwarded-Encrypted: i=1; AJvYcCWEoFKbToieEpyIq/xEqLIMdQdJmB9M0SgTTAlh+L9tRt0iwrAtxAVgMq+gjfCRSnrfsVpy7HT61lfj8uZEjYa6Hg10HA== Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id x25-20020a1709065ad900b00a365c4276efsi1006189ejs.9.2024.02.06.03.11.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Feb 2024 03:11:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-54747-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=v0yd.nl); spf=pass (google.com: domain of linux-kernel+bounces-54747-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-54747-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 am.mirrors.kernel.org (Postfix) with ESMTPS id 692C01F24FE8 for ; Tue, 6 Feb 2024 11:11:07 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0CFF4130AD5; Tue, 6 Feb 2024 11:08:28 +0000 (UTC) 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 BE53E12F5A4; Tue, 6 Feb 2024 11:08:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.241.56.151 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707217706; cv=none; b=IMI1UOk9H14eUrpPQLV6I01paFq74L0qoyHL0InoIZFyEtnvSmrlYe0HPBFc+Y8Psf88v75wwJjPMpOMP76U2zWiQM7LZrGFthHszwkxERky4XyyE6gu76eQXJB1+VDvZWclyg+L9jgSz4XOgLcgKgpZGhr+nwPAOCCETODksKw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707217706; c=relaxed/simple; bh=H0qiN5y21fJHbc3Gsib/vVUqbIRS/mAwqCfl/lTb+XQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=kulBcB0QG4p9SHR7ddU8sWSE4XlC2zpBHEJ0umKZmw32GzHhAkr2XZRUt3F4Fd6OuvyIkX4M44d2d6/VBFNo41Yce6bKJ9kkICB7vXfwfmoJCJry15rX8WppNNxZG1E5UEydbqMEHmss8SRFmvyzSqbL8v69aG9RzvX3hZo8vNM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=v0yd.nl; spf=pass smtp.mailfrom=v0yd.nl; arc=none smtp.client-ip=80.241.56.151 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 smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1]) (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 4TTgTb2ztYz9sX2; Tue, 6 Feb 2024 12:08:19 +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?= , linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH v4 0/2] Bluetooth: Improve retrying of connection attempts Date: Tue, 6 Feb 2024 12:08:12 +0100 Message-ID: <20240206110816.74995-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: 1790147682985138184 X-GMAIL-MSGID: 1790147682985138184 Since commit 4c67bc74f016 ("[Bluetooth] Support concurrent connect requests"), the kernel supports trying to connect again in case the bluetooth card is busy and fails to connect. The logic that should handle this became a bit spotty over time, and also cards these days appear to fail with more errors than just "Command Disallowed". This series refactores the handling of concurrent connection requests by serializing all "Create Connection" commands for ACL connections similar to how we do it for LE connections. --- v1: https://lore.kernel.org/linux-bluetooth/20240102185933.64179-1-verdre@v0yd.nl/ v2: https://lore.kernel.org/linux-bluetooth/20240108183938.468426-1-verdre@v0yd.nl/ v3: https://lore.kernel.org/linux-bluetooth/20240108224614.56900-1-verdre@v0yd.nl/ v4: - Removed first two commits since they are already applied - Removed a BT_DBG() message in the acl_create_connection() function while moving to hci_sync because it seemed out of place in hci_sync - Added a mention of the test failure in mgmt-tester to commit message Jonas Dreßler (2): Bluetooth: hci_conn: Only do ACL connections sequentially Bluetooth: Remove pending ACL connection attempts include/net/bluetooth/hci.h | 1 + include/net/bluetooth/hci_core.h | 1 - include/net/bluetooth/hci_sync.h | 3 ++ net/bluetooth/hci_conn.c | 83 +++----------------------------- net/bluetooth/hci_event.c | 21 ++------ net/bluetooth/hci_sync.c | 70 +++++++++++++++++++++++++++ 6 files changed, 86 insertions(+), 93 deletions(-)