Re: [PATCH] Bluetooth: hci_serdev: Init hci_uart proto_lock to avoid oops

From: Marcel Holtmann
Date: Tue Jan 02 2018 - 15:45:52 EST


Hi John,

>>>> John Stultz reports a boot time crash with the HiKey board (which uses
>>>> hci_serdev) occurring in hci_uart_tx_wakeup(). That function is
>>>> contained in hci_ldisc.c, but also called from the newer hci_serdev.c.
>>>> It acquires the proto_lock in struct hci_uart and it turns out that we
>>>> forgot to init the lock in the serdev code path, thus causing the crash.
>>>>
>>>> John bisected the crash to commit 67d2f8781b9f ("Bluetooth: hci_ldisc:
>>>> Allow sleeping while proto locks are held"), but the issue was present
>>>> before and the commit merely exposed it. (Perhaps by luck, the crash
>>>> did not occur with rwlocks.)
>>>>
>>>> Init the proto_lock in the serdev code path to avoid the oops.
>>>>
>> [snip]
>>> patch has been applied to bluetooth-next tree.
>>
>> Sorry to be a nuisance if its just a timing thing, but I wanted to
>> follow up on this just to make sure it didn't fall through the cracks,
>> as I noticed w/ -rc3 it hasn't landed yet.
>
> Happy new year all,
> Just wanted to send another ping on this as it seems it hasn't made
> it into -rc6. Did this get missed as being tagged as a (at least
> functional) regression fix?

since it wasnât marked as urgent fix, it never went on the path to -rc. It is on the path for the next release. And then can be included in -stable if needed.

Regards

Marcel