diff --git a/drivers/nfc/virtual_ncidev.c b/drivers/nfc/virtual_ncidev.c index bb76c7c7c..ee6c4e14e 100644 --- a/drivers/nfc/virtual_ncidev.c +++ b/drivers/nfc/virtual_ncidev.c @@ -98,7 +98,8 @@ 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) { consume_skb(vdev->send_buff); - vdev->send_buff = NULL; + if(skb_unref(vdev->send_buff)) + vdev->send_buff = NULL; } mutex_unlock(&vdev->mtx);