nfc: changed pthread_mutex to qemu_mutex
authorJinhyung Choi <jinh0.choi@samsung.com>
Fri, 7 Aug 2015 13:08:24 +0000 (22:08 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Wed, 12 Aug 2015 05:51:36 +0000 (14:51 +0900)
Change-Id: If84dad8e9c092983cc14fc2c181e1d2bcee87d68
Signed-off-by: Jinhyung Choi <jinh0.choi@samsung.com>
tizen/src/hw/virtio/maru_virtio_nfc.c

index e7a68b7..76aa9da 100644 (file)
@@ -65,7 +65,7 @@ typedef struct NFCBuf {
 
 
 static char nfc_data [NFC_MAX_BUF_SIZE] = {'0',};
-static pthread_mutex_t recv_buf_mutex = PTHREAD_MUTEX_INITIALIZER;
+static QemuMutex recv_buf_mutex;
 
 static void send_nfc_data_to_ecs(const char* data)
 {
@@ -133,11 +133,11 @@ bool send_to_nfc(unsigned char id, unsigned char type, const char* data, const u
     _msg->info.client_id = id;
     _msg->info.client_type = type;
 
-    pthread_mutex_lock(&recv_buf_mutex);
+    qemu_mutex_lock(&recv_buf_mutex);
     strcpy(nfc_data, data);
     QTAILQ_INSERT_TAIL(&nfc_recv_msg_queue, _msg, next);
 
-    pthread_mutex_unlock(&recv_buf_mutex);
+    qemu_mutex_unlock(&recv_buf_mutex);
 
     qemu_bh_schedule(vio_nfc->bh);
 
@@ -159,7 +159,7 @@ static void flush_nfc_recv_queue(void)
     }
 
 
-    pthread_mutex_lock(&recv_buf_mutex);
+    qemu_mutex_lock(&recv_buf_mutex);
 
     while (!QTAILQ_EMPTY(&nfc_recv_msg_queue))
     {
@@ -191,7 +191,7 @@ static void flush_nfc_recv_queue(void)
             free(msginfo);
     }
 
-    pthread_mutex_unlock(&recv_buf_mutex);
+    qemu_mutex_unlock(&recv_buf_mutex);
 
 }
 
@@ -261,6 +261,8 @@ static void virtio_nfc_realize(DeviceState* dev, Error **errp)
     vio_nfc->svq = virtio_add_queue(&vio_nfc->vdev, 256, virtio_nfc_send);
 
     vio_nfc->bh = qemu_bh_new(maru_nfc_bh, vio_nfc);
+
+    qemu_mutex_init(&recv_buf_mutex);
 }
 
 static void virtio_nfc_unrealize(DeviceState* dev, Error **errp)
@@ -269,6 +271,8 @@ static void virtio_nfc_unrealize(DeviceState* dev, Error **errp)
 
     INFO("destroy nfc device\n");
 
+    qemu_mutex_destroy(&recv_buf_mutex);
+
     if (vio_nfc->bh) {
         qemu_bh_delete(vio_nfc->bh);
     }