diff --git a/drivers/nfc/virtual_ncidev.c b/drivers/nfc/virtual_ncidev.c index bb76c7c7c..673e85df5 100644 --- a/drivers/nfc/virtual_ncidev.c +++ b/drivers/nfc/virtual_ncidev.c @@ -96,7 +96,7 @@ static ssize_t virtual_ncidev_read(struct file *file, char __user *buf, } skb_pull(vdev->send_buff, actual_len); - if (vdev->send_buff->len == 0) { + if (vdev->send_buff->len == 0 && skb_unref(vdev->send_buff)) { consume_skb(vdev->send_buff); vdev->send_buff = NULL; }