Add core abi capability
[sdk/target/sdbd.git] / src / usb_linux_client.c
index efeff2c..da86cd2 100644 (file)
@@ -26,7 +26,8 @@
 
 #include "sysdeps.h"
 
-#define   TRACE_TAG  TRACE_USB
+//#define   TRACE_TAG  TRACE_USB
+#define LOG_TAG "SDBD_TRACE_USB"
 #include "log.h"
 
 #include "sdb.h"
@@ -58,20 +59,20 @@ static void *usb_open_thread(void *x)
             if (fd < 0) {
                 // to support older kernels
                 //fd = unix_open("/dev/android", O_RDWR);
-                D("[ opening %s device failed ]\n", USB_NODE_FILE);
+                E("[ opening %s device failed ]\n", USB_NODE_FILE);
             }
             if (fd < 0) {
                 sdb_sleep_ms(1000);
             }
         } while (fd < 0);
-        D("[ opening device succeeded ]\n");
+        //D("[ opening device succeeded ]\n");
 
         if (close_on_exec(fd) < 0) {
-            D("[closing fd exec failed ]\n");
+            E("[closing fd exec failed ]\n");
         }
         usb->fd = fd;
 
-        D("[ usb_thread - registering device ]\n");
+        //D("[ usb_thread - registering device ]\n");
         register_usb_transport(usb, 0, 1);
     }
 
@@ -85,38 +86,39 @@ int linux_usb_write(usb_handle *h, const void *data, int len)
 {
     int n;
 
-    D("about to write (fd=%d, len=%d)\n", h->fd, len);
+    //D("about to write (fd=%d, len=%d)\n", h->fd, len);
     n = sdb_write(h->fd, data, len);
     if(n != len) {
-        D("ERROR: fd = %d, n = %d, errno = %d\n",
+        E("ERROR: fd = %d, n = %d, errno = %d\n",
             h->fd, n, errno);
         return -1;
     }
-    D("[ done fd=%d ]\n", h->fd);
+    //D("[ done fd=%d ]\n", h->fd);
     return 0;
 }
 
 int linux_usb_read(usb_handle *h, void *data, size_t len)
 {
-      D("about to read (fd=%d, len=%d)\n", h->fd, len);
-        while (len > 0) {
-            /* The sdb_read does not support read larger than 4096 bytes at once.
-               Read 4096 byte block repeatedly when reading data is larger than 4096 bytes. */
-            int bytes_to_read = len < 4096 ? len : 4096;
-            int n = sdb_read(h->fd, data, bytes_to_read);
-            if(n < 0) {
-                if(errno == EINTR) {
-                    continue;
-                } else {
-                    D("ERROR: fd = %d, n = %d, errno = %d\n", h->fd, n, errno);
-                    return -1;
-                }
+    //D("about to read (fd=%d, len=%zu)\n", h->fd, len);
+    int l = len;
+    while (l > 0) {
+        /* The sdb_read does not support read larger than 4096 bytes at once.
+           Read 4096 byte block repeatedly when reading data is larger than 4096 bytes. */
+        int bytes_to_read = l < 4096 ? l : 4096;
+        int n = sdb_read(h->fd, data, bytes_to_read);
+        if (n < 0) {
+            if (errno == EINTR) {
+                continue;
+            } else {
+                E("ERROR: fd = %d, n = %d, errno = %d\n", h->fd, n, errno);
+                return -1;
             }
-            len -= n;
-            data = ((char*) data) + n;
         }
-        D("[ done fd=%d ]\n", h->fd);
-        return 0;
+        l = (l >= n) ? l - n : 0;
+        data = ((char*)data) + n;
+    }
+    //D("[ done fd=%d ]\n", h->fd);
+    return 0;
 }
 
 void linux_usb_init()
@@ -127,7 +129,7 @@ void linux_usb_init()
 
     h = calloc(1, sizeof(usb_handle));
     if (h == NULL) {
-        D("failed to allocate memory of usb_handle\n");
+        E("failed to allocate memory of usb_handle\n");
         return;
     }
 
@@ -143,12 +145,12 @@ void linux_usb_init()
 #if 0 /* tizen specific */
     fd = unix_open("/dev/android_sdb_enable", O_RDWR);
     if (fd < 0) {
-       D("failed to open /dev/android_sdb_enable\n");
+       E("failed to open /dev/android_sdb_enable\n");
     } else {
         close_on_exec(fd);
     }
 #endif
-    D("[ usb_init - starting thread ]\n");
+    I("[ usb_init - starting thread ]\n");
     if(sdb_thread_create(&tid, usb_open_thread, h)){
         fatal_errno("cannot create usb thread");
     }
@@ -156,7 +158,7 @@ void linux_usb_init()
 
 void linux_usb_kick(usb_handle *h)
 {
-    D("usb_kick\n");
+    I("usb_kick\n");
     sdb_mutex_lock(&h->lock);
     sdb_close(h->fd);
     h->fd = -1;