Re: [PATCH] Bluetooth: Skip the shutdown routine if the interface is not up

From: David Miller
Date: Mon Apr 27 2015 - 01:01:23 EST


From: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Date: Sun, 26 Apr 2015 21:49:06 -0700

> Hi Gabriele,
>
>> Most likely, the shutdown routine requires the interface to be up.
>> This is the case for BTUSB_INTEL: the routine tries to send a command
>> to the interface, but since this one is down, it fails and exits once
>> HCI_INIT_TIMEOUT has expired.
>>
>> Signed-off-by: Gabriele Mazzotta <gabriele.mzt@xxxxxxxxx>
>> ---
>> net/bluetooth/hci_core.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
>> index 476709b..4663c3d 100644
>> --- a/net/bluetooth/hci_core.c
>> +++ b/net/bluetooth/hci_core.c
>> @@ -1557,7 +1557,8 @@ static int hci_dev_do_close(struct hci_dev *hdev)
>> {
>> BT_DBG("%s %p", hdev->name, hdev);
>>
>> - if (!hci_dev_test_flag(hdev, HCI_UNREGISTER)) {
>> + if (!hci_dev_test_flag(hdev, HCI_UNREGISTER) &&
>> + test_bit(HCI_UP, &hdev->flags)) {
>> /* Execute vendor specific shutdown routine */
>> if (hdev->shutdown)
>> hdev->shutdown(hdev);
>
> this is a good catch.
>
> Acked-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx # 4.0.x
>
> Dave, do you want to take this patch straight into your stable tree?

Please handle this via the bluetooth tree, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/