Hi Zijun, > This is btsoc timing issue, after host start to downloading bt firmware, > ep2 need time to switch from function acl to function dfu, so host add > 20ms delay as workaround. > > Signed-off-by: Tim Jiang <tjiang@xxxxxxxxxxxxxx> > --- > drivers/bluetooth/btusb.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > index 5245714..b0743db 100644 > --- a/drivers/bluetooth/btusb.c > +++ b/drivers/bluetooth/btusb.c > @@ -4064,6 +4064,7 @@ static int btusb_setup_qca_download_fw(struct hci_dev *hdev, > > sent += size; > count -= size; you need a comment here explain why this is needed. > + msleep(20); > > while (count) { > size = min_t(size_t, count, QCA_DFU_PACKET_LEN); Regards Marcel