The next goto after that is messed up as well: 1056 dev = nfc_get_device(idx); 1057 if (!dev) 1058 return -ENODEV; 1059 1060 device_lock(&dev->dev); 1061 1062 local = nfc_llcp_find_local(dev); 1063 if (!local) { 1064 nfc_put_device(dev); It should not call nfc_put_device() because that happens after goto exit. 1065 rc = -ENODEV; 1066 goto exit; 1067 } regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html