提交 0201ed03 编写于 作者: S Samuel Ortiz

NFC: Convert pn533 from semaphore to mutex

Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
上级 41a8ec49
......@@ -329,7 +329,7 @@ struct pn533 {
pn533_cmd_complete_t cmd_complete;
void *cmd_complete_arg;
struct semaphore cmd_lock;
struct mutex cmd_lock;
u8 cmd;
struct pn533_poll_modulations *poll_mod_active[PN533_POLL_MOD_MAX + 1];
......@@ -462,7 +462,7 @@ static void pn533_wq_cmd_complete(struct work_struct *work)
PN533_FRAME_CMD_PARAMS_LEN(in_frame));
if (rc != -EINPROGRESS)
up(&dev->cmd_lock);
mutex_unlock(&dev->cmd_lock);
}
static void pn533_recv_response(struct urb *urb)
......@@ -640,7 +640,7 @@ static int pn533_send_cmd_frame_async(struct pn533 *dev,
nfc_dev_dbg(&dev->interface->dev, "%s", __func__);
if (down_trylock(&dev->cmd_lock))
if (!mutex_trylock(&dev->cmd_lock))
return -EBUSY;
rc = __pn533_send_cmd_frame_async(dev, out_frame, in_frame,
......@@ -650,7 +650,7 @@ static int pn533_send_cmd_frame_async(struct pn533 *dev,
return 0;
error:
up(&dev->cmd_lock);
mutex_unlock(&dev->cmd_lock);
return rc;
}
......@@ -1261,7 +1261,7 @@ static void pn533_listen_mode_timer(unsigned long data)
dev->cancel_listen = 1;
up(&dev->cmd_lock);
mutex_unlock(&dev->cmd_lock);
pn533_poll_next_mod(dev);
......@@ -2054,7 +2054,7 @@ static void pn533_wq_mi_recv(struct work_struct *work)
kfree(arg);
up(&dev->cmd_lock);
mutex_unlock(&dev->cmd_lock);
}
static int pn533_set_configuration(struct pn533 *dev, u8 cfgitem, u8 *cfgdata,
......@@ -2114,7 +2114,7 @@ static int pn533_probe(struct usb_interface *interface,
dev->udev = usb_get_dev(interface_to_usbdev(interface));
dev->interface = interface;
sema_init(&dev->cmd_lock, 1);
mutex_init(&dev->cmd_lock);
iface_desc = interface->cur_altsetting;
for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册