diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2011-12-14 10:43:07 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-12-14 14:50:12 -0500 |
commit | 94a098da42f258ae7019acbbea3bc5f93dc6f8f1 (patch) | |
tree | a0c03bd37faaf72ca839024433a4a90ae9d3b20a /net/nfc/netlink.c | |
parent | 7c7cd3bfec68fee33b30d177df6a6a0c4bbdc59d (diff) |
NFC: Do not take the genl mutex from the netlink release notifier
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>
Diffstat (limited to 'net/nfc/netlink.c')
-rw-r--r-- | net/nfc/netlink.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/net/nfc/netlink.c b/net/nfc/netlink.c index 061711f47476..1d76d38c4a24 100644 --- a/net/nfc/netlink.c +++ b/net/nfc/netlink.c | |||
@@ -504,12 +504,10 @@ static int nfc_genl_rcv_nl_event(struct notifier_block *this, | |||
504 | dev = nfc_device_iter_next(&iter); | 504 | dev = nfc_device_iter_next(&iter); |
505 | 505 | ||
506 | while (dev) { | 506 | while (dev) { |
507 | mutex_lock(&dev->genl_data.genl_data_mutex); | ||
508 | if (dev->genl_data.poll_req_pid == n->pid) { | 507 | if (dev->genl_data.poll_req_pid == n->pid) { |
509 | nfc_stop_poll(dev); | 508 | nfc_stop_poll(dev); |
510 | dev->genl_data.poll_req_pid = 0; | 509 | dev->genl_data.poll_req_pid = 0; |
511 | } | 510 | } |
512 | mutex_unlock(&dev->genl_data.genl_data_mutex); | ||
513 | dev = nfc_device_iter_next(&iter); | 511 | dev = nfc_device_iter_next(&iter); |
514 | } | 512 | } |
515 | 513 | ||