diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c index e41854e0d79a..1b74d800a09d 100644 --- a/drivers/bluetooth/hci_h5.c +++ b/drivers/bluetooth/hci_h5.c @@ -248,8 +248,10 @@ static int h5_close(struct hci_uart *hu) if (h5->vnd && h5->vnd->close) h5->vnd->close(h5); - if (!hu->serdev) + if (!hu->serdev){ + kfree_skb(h5->rx_skb); kfree(h5); + } return 0; } @@ -839,6 +841,8 @@ static void h5_serdev_remove(struct serdev_device *serdev) { struct h5 *h5 = serdev_device_get_drvdata(serdev); + kfree_skb(h5->rx_skb); + h5->rx_skb = NULL; hci_uart_unregister_device(&h5->serdev_hu); }