Re: [PATCH 3/4] Bluetooth: btusb: mediatek: reset the device as WMT failed

From: Sean Wang
Date: Wed Sep 14 2022 - 18:37:33 EST


Hi, Angelo

On Tue, Sep 13, 2022 at 1:23 AM AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx> wrote:
>
> Il 13/09/22 00:18, sean.wang@xxxxxxxxxxxx ha scritto:
> > From: Sean Wang <sean.wang@xxxxxxxxxxxx>
> >
> > Reset the BT device whenever the driver detected any WMT failure happened
> > to recover such kind of system-level error as soon as possible.
> >
> > Signed-off-by: Sean Wang <sean.wang@xxxxxxxxxxxx>
>
> This looks like a fix, so you probably want a Fixes tag for backport.

I didn't add the fix tag because there is not a previous patch that
had issues the patch needs to fix.

It would be looking more like an enhancement patch for me to fix up
the potential issue happening in the firmware where the existing
driver cannot detect and recover in time with .cmd_timeout callback
but actually, the kind of potential issue in firmware I was worried
about in the firmware didn't happen or being reported so far.

Sean

>
> Regards,
> Angelo
>
> > ---
> > drivers/bluetooth/btusb.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> > index 653f57a98233..dc86726c8271 100644
> > --- a/drivers/bluetooth/btusb.c
> > +++ b/drivers/bluetooth/btusb.c
> > @@ -2576,6 +2576,10 @@ static int btusb_mtk_hci_wmt_sync(struct hci_dev *hdev,
> > data->evt_skb = NULL;
> > err_free_wc:
> > kfree(wc);
> > +
> > + if (err < 0)
> > + btmtk_reset_sync(hdev);
> > +
> > return err;
> > }
> >
>