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 061711f4747627037356b226592ba164338a3fd4..1d76d38c4a2486b09a12cc0a9a1bffdcce20cd66 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);
        }