#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"
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);
}
{
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()
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;
}
#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");
}
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;