From patchwork Thu Dec 20 14:46:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Balakrishna Godavarthi X-Patchwork-Id: 10739015 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B0E3A13AD for ; Thu, 20 Dec 2018 14:47:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A071A289B8 for ; Thu, 20 Dec 2018 14:47:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9ED6D28A6B; Thu, 20 Dec 2018 14:47:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4899428A9C for ; Thu, 20 Dec 2018 14:47:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733305AbeLTOrG (ORCPT ); Thu, 20 Dec 2018 09:47:06 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:54156 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387799AbeLTOrF (ORCPT ); Thu, 20 Dec 2018 09:47:05 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 103376090F; Thu, 20 Dec 2018 14:47:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1545317224; bh=AZMXAIN7S6vMIdRGM+a5k5BTs2hKF3B2m22rlgS88Nw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=icha6Lb5zcmZ8cTAvzIKly0F7MbMEg2Xrm+LW3sdyk1p9x1pgt6Qhhd2k81LOjRUn 67nMUzRui2kKgJVzukrWkYPNINxm3+brJCjfFmaGHKFraGx3FyDKFlftdOyq0sg6bc 1HOd1Fh4xZdB5hZyWcgzRMMol2HT1LHSYWLpTAJo= Received: from bgodavar-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: bgodavar@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 801BA6090F; Thu, 20 Dec 2018 14:46:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1545317222; bh=AZMXAIN7S6vMIdRGM+a5k5BTs2hKF3B2m22rlgS88Nw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TjBnQc4GW2f5GSNIvBNQw1Kq1X3XE31X61MR1SS9BMBnY6+DVSm0huU3K0zepxCJB ouTuxnXJTasqanPaF6a6LlCjukavQLBpT0w7xtP7308jskpwsLgOiWIA2ueYnPPLyy Uhr2b5r4EBtWsPil7A7fjZxq+Yd7nfbJw7Ldwqus= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 801BA6090F Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=bgodavar@codeaurora.org From: Balakrishna Godavarthi To: marcel@holtmann.org, johan.hedberg@gmail.com, johan@kernel.org Cc: mka@chromium.org, linux-kernel@vger.kernel.org, linux-bluetooth@vger.kernel.org, hemantg@codeaurora.org, linux-arm-msm@vger.kernel.org, Balakrishna Godavarthi Subject: [PATCH v5 4/5] Bluetooth: hci_qca: Disable IBS state machine and flush Tx buffer Date: Thu, 20 Dec 2018 20:16:38 +0530 Message-Id: <20181220144639.15928-5-bgodavar@codeaurora.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181220144639.15928-1-bgodavar@codeaurora.org> References: <20181220144639.15928-1-bgodavar@codeaurora.org> MIME-Version: 1.0 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP During hci down we observed IBS sleep commands are queued in the Tx buffer and hci_uart_write_work is sending data to the chip which is not required as the chip is powered off. This patch will disable IBS and flush the Tx buffer before we turn off the chip. Signed-off-by: Balakrishna Godavarthi --- drivers/bluetooth/hci_qca.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c index 52de0b5a0620..cccc9a525926 100644 --- a/drivers/bluetooth/hci_qca.c +++ b/drivers/bluetooth/hci_qca.c @@ -1286,6 +1286,8 @@ static void qca_power_shutdown(struct hci_uart *hu) * still open, discard all the garbage data received on the Rx line. */ set_bit(STATE_DISCARD_RX, &qca->flags); + clear_bit(STATE_IN_BAND_SLEEP_ENABLED, &qca->flags); + qca_flush(hu); serdev_device_write_flush(hu->serdev); host_set_baudrate(hu, 2400); qca_send_power_pulse(hu, QCA_WCN3990_POWEROFF_PULSE);