usb: bluetooth: fix OUT buffer handling
acl_read_cb does not handle incoming (ACL) data if BT_CTLR_TX_BUFFER_SIZE is greater than USB_MAX_FS_BULK_MPS - BT_HCI_ACL_HDR_SIZE. Since the host adjusts the data according to the BT_CTLR_TX_BUFFER_SIZE and does not use ZLP we cannot start usb_transfer over the possible length of the whole packet, with or without USB_TRANS_NO_ZLP flag. But we can read the packet length from the header and call net_buf_put() when the whole packet is received. Fixes: #31922 Reported-by:Matias Karhumaa <matias.karhumaa@gmail.com> Signed-off-by:
Johann Fischer <johann.fischer@nordicsemi.no>
Loading
Please sign in to comment