Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp621775pxv; Thu, 15 Jul 2021 11:46:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyHvnw6MECm9Z0tT4xziRUbf0EOBrGfSUJNZPsLh5E+YRzNcR4u6nIr9S5oGEg8JHPp/r+r X-Received: by 2002:a92:280a:: with SMTP id l10mr3696685ilf.125.1626374766510; Thu, 15 Jul 2021 11:46:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626374766; cv=none; d=google.com; s=arc-20160816; b=N/aKw6X6sZNlfXbf0H1xwCgaOHHTHd5/nM47ge5KwdLm3l07RjjZZgTq5a3jDcW4Cf rB4Js2XSveBMl8s+4N9O5BddkURu2Apb4zLjoUS5bowUegZlShaVZxKVPSME8lUiVIQp V81yQTSHvcBqv5qduwakYVZvxLX0cpgrQ1O/B4qYbdsX+KKLN4LRDW093iHci1mYYhOH H7dAgHLI6t6fKkClkZSPQqSnB/yHNeQXBTxjdWo1gt+nDdzbQOC57TBmMd0ekVWWdHet Jbolq7AgDxshNX5IXZ4SmoSbG2zwxcm/ZbeVCmrbHXTPbaPa8gupmq/r2TfukS6H2Qw7 yFrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LH4kwB6Lwev1IerAso0VvlTG1Te12X6xsvUik2EoYDA=; b=ac6676wbpQeWF4QQi/tiZahlCaIgsL0TRY+dHzgdgjR3nFoO40BO9OJENaxLO1kSaD AQxkQYQ39AfhHatxZSIs4jzWKwHSSfxUGMGO7uDw9TP3cTZatgRWzIavelWV8NcwdxZz zoM2ODv2ZisQIyC7RTxpGiXvtARdx8iVv3WwJ+z5bQfAT3onlBjmm/jF//JnULQ9ZJ+x HIGmkWBNhDfrhShC6XJsAmmZuixHLhGiYT7mQp0q8hT4vOmeVkhixyLlJndUrT3+hK2E W30rammOums9OlfcEhBmFeMkgLuTjerEYyApjd6RsqS/bPnl9KOq2wTNNkU8VCHCMPyu y3tA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=MWbcf845; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h5si8823392iol.44.2021.07.15.11.45.54; Thu, 15 Jul 2021 11:46:06 -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; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=MWbcf845; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238407AbhGOSq4 (ORCPT + 99 others); Thu, 15 Jul 2021 14:46:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:47406 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237791AbhGOSqR (ORCPT ); Thu, 15 Jul 2021 14:46:17 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C6ECB61396; Thu, 15 Jul 2021 18:43:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626374603; bh=qKftyMldNJJkti1WY/IjZLiVzOId06DRlCQU7Ju/szM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MWbcf8451i24qz6lxPZl2lDo/KFaqnScOgI5RRDZQMNP75bwsvLgpr53JSgUJz3z5 Dp7c1xIn2u3zG8RdTP4O9dFLeVsMBxWSCQBebVwoi3mCtx18SIzdFzXs+GX6AZdBeY fysoNx+lN3pEI+34FX6gL+1EXCapbnc3Hl1+1OXU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tim Jiang , Marcel Holtmann , Sasha Levin Subject: [PATCH 5.4 067/122] Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc. Date: Thu, 15 Jul 2021 20:38:34 +0200 Message-Id: <20210715182507.263972658@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210715182448.393443551@linuxfoundation.org> References: <20210715182448.393443551@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tim Jiang [ Upstream commit 4f00bfb372674d586c4a261bfc595cbce101fbb6 ] This is btsoc timing issue, after host start to downloading bt firmware, ep2 need time to switch from function acl to function dfu, so host add 20ms delay as workaround. Signed-off-by: Tim Jiang Signed-off-by: Marcel Holtmann Signed-off-by: Sasha Levin --- drivers/bluetooth/btusb.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 27ff7a6e2fc9..6d643651d69f 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -3263,6 +3263,11 @@ static int btusb_setup_qca_download_fw(struct hci_dev *hdev, sent += size; count -= size; + /* ep2 need time to switch from function acl to function dfu, + * so we add 20ms delay here. + */ + msleep(20); + while (count) { size = min_t(size_t, count, QCA_DFU_PACKET_LEN); -- 2.30.2