diff --git a/net/nfc/netlink.c b/net/nfc/netlink.c
index 639e5cad0442c492a451cd45e4a4fa47a9a0e633..c90dc2fd13a7c15f63d6042ee388ae2c346d7c2a 100644
--- a/net/nfc/netlink.c
+++ b/net/nfc/netlink.c
@@ -850,6 +850,7 @@ static int nfc_genl_stop_poll(struct sk_buff *skb, struct genl_info *info)
 
 	if (!dev->polling) {
 		device_unlock(&dev->dev);
+		nfc_put_device(dev);
 		return -EINVAL;
 	}