--- x/drivers/bluetooth/hci_mrvl.c +++ y/drivers/bluetooth/hci_mrvl.c @@ -97,11 +97,14 @@ static int mrvl_close(struct hci_uart *h if (hu->serdev) serdev_device_close(hu->serdev); + if (!mrvl) + goto out; skb_queue_purge(&mrvl->txq); skb_queue_purge(&mrvl->rawq); kfree_skb(mrvl->rx_skb); kfree(mrvl); +out: hu->priv = NULL; return 0; }