From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 97751C433E2 for ; Mon, 31 Aug 2020 15:50:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7D7C020719 for ; Mon, 31 Aug 2020 15:50:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728320AbgHaPt7 convert rfc822-to-8bit (ORCPT ); Mon, 31 Aug 2020 11:49:59 -0400 Received: from coyote.holtmann.net ([212.227.132.17]:46162 "EHLO mail.holtmann.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728251AbgHaPt6 (ORCPT ); Mon, 31 Aug 2020 11:49:58 -0400 Received: from marcel-macbook.fritz.box (p4ff9f430.dip0.t-ipconnect.de [79.249.244.48]) by mail.holtmann.org (Postfix) with ESMTPSA id 8FED0CECCD; Mon, 31 Aug 2020 18:00:04 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\)) Subject: Re: [PATCH] Bluetooth: Clear suspend tasks on unregister From: Marcel Holtmann In-Reply-To: <20200826154719.1.I24fb6cc377d03d64d74f83cec748afd12ee33e37@changeid> Date: Mon, 31 Aug 2020 17:49:54 +0200 Cc: linux-bluetooth , CrosBT Upstreaming , "David S. Miller" , Johan Hedberg , netdev , kernel list , Jakub Kicinski , Miao-chen Chou Content-Transfer-Encoding: 8BIT Message-Id: References: <20200826154719.1.I24fb6cc377d03d64d74f83cec748afd12ee33e37@changeid> To: Abhishek Pandit-Subedi X-Mailer: Apple Mail (2.3608.120.23.2.1) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hi Abhishek, > While unregistering, make sure to clear the suspend tasks before > cancelling the work. If the unregister is called during resume from > suspend, this will unnecessarily add 2s to the resume time otherwise. > > Fixes: 4e8c36c3b0d73d (Bluetooth: Fix suspend notifier race) > Signed-off-by: Abhishek Pandit-Subedi > --- > This was discovered with RT8822CE using the btusb driver. This chipset > will reset on resume during system suspend and was unnecessarily adding > 2s to every resume. Since we're unregistering anyway, there's no harm in > just clearing the pending events. > > net/bluetooth/hci_core.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c > index 68bfe57b66250f..ed4cb3479433c0 100644 > --- a/net/bluetooth/hci_core.c > +++ b/net/bluetooth/hci_core.c > @@ -3442,6 +3442,16 @@ void hci_copy_identity_address(struct hci_dev *hdev, bdaddr_t *bdaddr, > } > } > > +static void hci_suspend_clear_tasks(struct hci_dev *hdev) > +{ > + int i; > + > + for (i = 0; i < __SUSPEND_NUM_TASKS; ++i) > + clear_bit(i, hdev->suspend_tasks); I prefer i++ instead of ++i. Regards Marcel