NFC: Do not take the genl mutex from the netlink release notifier
authorSamuel Ortiz <sameo@linux.intel.com>
Wed, 14 Dec 2011 15:43:07 +0000 (16:43 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 14 Dec 2011 19:50:12 +0000 (14:50 -0500)
The netlink notifier is atomic so we must not sleep in that context.
Also we know that Any netlink packets arriving to us will be purged when
the notifier is called, so we don't need to take the mutex.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/nfc/netlink.c

index 061711f..1d76d38 100644 (file)
@@ -504,12 +504,10 @@ static int nfc_genl_rcv_nl_event(struct notifier_block *this,
        dev = nfc_device_iter_next(&iter);
 
        while (dev) {
-               mutex_lock(&dev->genl_data.genl_data_mutex);
                if (dev->genl_data.poll_req_pid == n->pid) {
                        nfc_stop_poll(dev);
                        dev->genl_data.poll_req_pid = 0;
                }
-               mutex_unlock(&dev->genl_data.genl_data_mutex);
                dev = nfc_device_iter_next(&iter);
        }