NFC: Do not return EBUSY when stopping a poll that's already stopped
We check for the polling flag before checking if the netlink PID caller match. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
1550bf2d59
commit
a831b91320
|
@ -634,6 +634,15 @@ static int nfc_genl_stop_poll(struct sk_buff *skb, struct genl_info *info)
|
||||||
if (!dev)
|
if (!dev)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
|
device_lock(&dev->dev);
|
||||||
|
|
||||||
|
if (!dev->polling) {
|
||||||
|
device_unlock(&dev->dev);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
device_unlock(&dev->dev);
|
||||||
|
|
||||||
mutex_lock(&dev->genl_data.genl_data_mutex);
|
mutex_lock(&dev->genl_data.genl_data_mutex);
|
||||||
|
|
||||||
if (dev->genl_data.poll_req_pid != info->snd_pid) {
|
if (dev->genl_data.poll_req_pid != info->snd_pid) {
|
||||||
|
|
Loading…
Reference in New Issue