Skip to content

Commit 33f93ce

Browse files
dolcinigregkh
authored andcommitted
Bluetooth: btmtkuart: fix recv_buf() return value
[ Upstream commit 64057f0 ] Serdev recv_buf() callback is supposed to return the amount of bytes consumed, therefore an int in between 0 and count. Do not return negative number in case of issue, just print an error and return count. This fixes a WARN in ttyport_receive_buf(). Link: https://lore.kernel.org/all/087be419-ec6b-47ad-851a-5e1e3ea5cfcc@kernel.org/ Fixes: 7237c4c ("Bluetooth: mediatek: Add protocol support for MediaTek serial devices") Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 81f3b6e commit 33f93ce

1 file changed

Lines changed: 3 additions & 8 deletions

File tree

drivers/bluetooth/btmtkuart.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ mtk_stp_split(struct btmtkuart_dev *bdev, const unsigned char *data, int count,
337337
return data;
338338
}
339339

340-
static int btmtkuart_recv(struct hci_dev *hdev, const u8 *data, size_t count)
340+
static void btmtkuart_recv(struct hci_dev *hdev, const u8 *data, size_t count)
341341
{
342342
struct btmtkuart_dev *bdev = hci_get_drvdata(hdev);
343343
const unsigned char *p_left = data, *p_h4;
@@ -376,25 +376,20 @@ static int btmtkuart_recv(struct hci_dev *hdev, const u8 *data, size_t count)
376376
bt_dev_err(bdev->hdev,
377377
"Frame reassembly failed (%d)", err);
378378
bdev->rx_skb = NULL;
379-
return err;
379+
return;
380380
}
381381

382382
sz_left -= sz_h4;
383383
p_left += sz_h4;
384384
}
385-
386-
return 0;
387385
}
388386

389387
static int btmtkuart_receive_buf(struct serdev_device *serdev, const u8 *data,
390388
size_t count)
391389
{
392390
struct btmtkuart_dev *bdev = serdev_device_get_drvdata(serdev);
393-
int err;
394391

395-
err = btmtkuart_recv(bdev->hdev, data, count);
396-
if (err < 0)
397-
return err;
392+
btmtkuart_recv(bdev->hdev, data, count);
398393

399394
bdev->hdev->stat.byte_rx += count;
400395

0 commit comments

Comments
 (0)