From patchwork Sat Nov 17 01:07:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajat Jain X-Patchwork-Id: 10687207 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 15F1D1709 for ; Sat, 17 Nov 2018 01:08:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 069652C17A for ; Sat, 17 Nov 2018 01:08:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EE5322C1A6; Sat, 17 Nov 2018 01:08:46 +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=-15.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, USER_IN_DEF_DKIM_WL 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 98D432C17A for ; Sat, 17 Nov 2018 01:08:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731186AbeKQLX0 (ORCPT ); Sat, 17 Nov 2018 06:23:26 -0500 Received: from mail-qk1-f202.google.com ([209.85.222.202]:56384 "EHLO mail-qk1-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729714AbeKQLWe (ORCPT ); Sat, 17 Nov 2018 06:22:34 -0500 Received: by mail-qk1-f202.google.com with SMTP id a199so54907749qkb.23 for ; Fri, 16 Nov 2018 17:07:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=//oLCiaulrU9R/KxJFqT9+N+Fsj9dA6lmJFRUXTRLEc=; b=VlcF3LQB2Y42qfvTiU3KNZqAvi2pTcAVzWtEneJ5Tfb45i0I6Eq3mi0UMaVeVdkFWw 3rcgdseEFurHdFUfsA0ucpy0mt4vnvWfmRQbR+MnpvHwF0NDZJUAzj2pg0t/848UfImB Km/3ffOGk9LyePxLH81bRKpVWoy0wlH4ndFKp5yWB9vx8vhJByUM6yRw4adzBRDzMfMy oNZdaYnJ0wH+uXwemJCogKV7YcmQ2w4SD3qTdPF9etT5k53e8o0fguEmB951vCdYPhnz IEzUdCvcBhNqGXW1Dq3Spo8otpBc5Ddt/o9QEHkpm6qISHryHGPS1Vs19tiRcoS3CGn7 uljQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=//oLCiaulrU9R/KxJFqT9+N+Fsj9dA6lmJFRUXTRLEc=; b=F9DqqWv9TsI1eudz/fsJ9XAfao4J7ak7ihJSNlYQxtSKwIHLVManMwHdvCAq151+Wp G3Uv8vA9TV3VHbGxlaAbKwsgmObA1/DLUcOc0kcm/s82ptmA7BdhdL3dIC/1ll/QErgr YpUHi+WbS5KrXhyqrmBRjbD6NUw6o1LC7wW4lxTeNm+RdLRzUtnRgG1jVk2k2mS/0akd GCvRLodylrK7kZ0Rhu7KCS+VsK4QUN7DCU2MpCzpt3KKZJ6EHJDCI1lblIFm1M+KkJhC bLJos+orUK4xLLkSDcwATDDPXhZsx2hVbkVk8Tqoobi549bphvsF6oYmurpSOgWQ4+vo sm1w== X-Gm-Message-State: AGRZ1gKTFJ+ib2sO5+DDHDIbPSzr1QBocy5aINETetbNKfcEHA96cFL6 ajV6YaaIkggSfMffn+EN3XAGtWIDEoM5 X-Google-Smtp-Source: AJdET5dUOdhATft1VO59rYlUEY0vQ3/Nq4Y0lQVF7D5mT5h+c9/l+ZQwf5l3A3yEibeQhg1wa3RLEmZrj6ZV X-Received: by 2002:aed:22a7:: with SMTP id p36mr5010855qtc.53.1542416873139; Fri, 16 Nov 2018 17:07:53 -0800 (PST) Date: Fri, 16 Nov 2018 17:07:43 -0800 Message-Id: <20181117010748.24347-1-rajatja@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.19.1.1215.g8438c0b245-goog Subject: [PATCH 0/5] Reset Intel BT controller if it gets stuck From: Rajat Jain To: Marcel Holtmann , Johan Hedberg , Greg Kroah-Hartman , "David S. Miller" , Dmitry Torokhov , Rajat Jain , Alex Hung , linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, netdev@vger.kernel.org Cc: rajatxjain@gmail.com, dtor@google.com, raghuram.hegde@intel.com, chethan.tumkur.narayan@intel.com, sukumar.ghorai@intel.com Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP There can be error conditions within Intel BT firmware that can cause it to get stuck, with the only way out being toggle the reset pin to the device. (I do not have the details about the issues that lead to such conditions, Intel folks copied here can elaborate if needed). Thus, this is an effor to be able to toggle the reset line from the driver if it detects such a situation. It makes few enhancements to the common framework which I think may be useful for other unrelated problems. Dmitry Torokhov (2): usb: split code locating ACPI companion into port and device usb: assign ACPI companions for embedded USB devices (This basically allows ACPI nodes to be attached to the USB devices, thus useful for any onboard / embedded USB devices that wants to get some info from the ACPI). Rajat Jain (3): Bluetooth: Reset Bluetooth chip after multiple command timeouts Bluetooth: btusb: Collect the common Intel assignments together Bluetooth: btusb: Use the hw_reset method to allow resetting the BT chip drivers/bluetooth/btusb.c | 63 +++++++++--- drivers/usb/core/usb-acpi.c | 163 +++++++++++++++++++------------ include/net/bluetooth/hci.h | 8 ++ include/net/bluetooth/hci_core.h | 2 + net/bluetooth/hci_core.c | 15 ++- 5 files changed, 171 insertions(+), 80 deletions(-)