lkml.org 
[lkml]   [2020]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 150/393] Bluetooth: btusb: fix up firmware download sequence
    Date
    From: Sean Wang <sean.wang@mediatek.com>

    [ Upstream commit f645125711c80f9651e4a57403d799070c6ad13b ]

    Data RAM on the device have to be powered on before starting to download
    the firmware.

    Fixes: a1c49c434e15 ("Bluetooth: btusb: Add protocol support for MediaTek MT7668U USB devices")
    Co-developed-by: Mark Chen <Mark-YW.Chen@mediatek.com>
    Signed-off-by: Mark Chen <Mark-YW.Chen@mediatek.com>
    Signed-off-by: Sean Wang <sean.wang@mediatek.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/bluetooth/btusb.c | 16 +++++++++++++++-
    1 file changed, 15 insertions(+), 1 deletion(-)

    diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
    index 3d9313c746f39..4085387f13cfb 100644
    --- a/drivers/bluetooth/btusb.c
    +++ b/drivers/bluetooth/btusb.c
    @@ -2826,7 +2826,7 @@ static int btusb_mtk_setup_firmware(struct hci_dev *hdev, const char *fwname)
    const u8 *fw_ptr;
    size_t fw_size;
    int err, dlen;
    - u8 flag;
    + u8 flag, param;

    err = request_firmware(&fw, fwname, &hdev->dev);
    if (err < 0) {
    @@ -2834,6 +2834,20 @@ static int btusb_mtk_setup_firmware(struct hci_dev *hdev, const char *fwname)
    return err;
    }

    + /* Power on data RAM the firmware relies on. */
    + param = 1;
    + wmt_params.op = BTMTK_WMT_FUNC_CTRL;
    + wmt_params.flag = 3;
    + wmt_params.dlen = sizeof(param);
    + wmt_params.data = &param;
    + wmt_params.status = NULL;
    +
    + err = btusb_mtk_hci_wmt_sync(hdev, &wmt_params);
    + if (err < 0) {
    + bt_dev_err(hdev, "Failed to power on data RAM (%d)", err);
    + return err;
    + }
    +
    fw_ptr = fw->data;
    fw_size = fw->size;

    --
    2.25.1


    \
     
     \ /
      Last update: 2020-08-17 21:01    [W:4.671 / U:0.152 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site