Fix the incorrect Tx / Rx data size issue 84/231284/2
authorDoHyun Pyun <dh79.pyun@samsung.com>
Tue, 21 Apr 2020 04:07:31 +0000 (13:07 +0900)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Tue, 21 Apr 2020 04:12:23 +0000 (13:12 +0900)
Change-Id: I0974085995400365bd27569d0f9c82a218f59de9
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
bt-api/bt-common.c
bt-api/bt-rfcomm-client.c
bt-api/include/bt-common.h
bt-service-adaptation/services/bt-request-handler.c
bt-service-adaptation/services/bt-service-battery-monitor.c
bt-service-adaptation/services/include/bt-service-battery-monitor.h
include/bluetooth-api.h

index 696468a..654e18f 100644 (file)
@@ -133,11 +133,11 @@ bt_user_info_t *_bt_get_user_data(int type)
        return &user_info[type];
 }
 
-int _bt_common_send_rfcomm_rx_details(int len)
+int _bt_common_send_rfcomm_rx_details(unsigned int len)
 {
        uid_t uid = getuid();
        pid_t pid = getpid();
-       int size = len;
+       unsigned int size = len;
        int ret = BLUETOOTH_ERROR_NONE;
 
        BT_INFO("+");
@@ -146,7 +146,7 @@ int _bt_common_send_rfcomm_rx_details(int len)
 
        g_array_append_vals(in_param1, &uid, sizeof(uid_t));
        g_array_append_vals(in_param2, &pid, sizeof(pid_t));
-       g_array_append_vals(in_param3, &size, sizeof(int));
+       g_array_append_vals(in_param3, &size, sizeof(unsigned int));
 
        ret = _bt_send_request(BT_BLUEZ_SERVICE, BT_RFCOMM_SEND_RX_DETAILS,
                in_param1, in_param2, in_param3, in_param4, &out_param);
@@ -156,11 +156,11 @@ int _bt_common_send_rfcomm_rx_details(int len)
        return ret;
 }
 
-int _bt_common_send_rfcomm_tx_details(int len)
+int _bt_common_send_rfcomm_tx_details(unsigned int len)
 {
        uid_t uid = getuid();
        pid_t pid = getpid();
-       int size = len;
+       unsigned int size = len;
        int ret = BLUETOOTH_ERROR_NONE;
 
        BT_INFO("+");
@@ -169,7 +169,7 @@ int _bt_common_send_rfcomm_tx_details(int len)
 
        g_array_append_vals(in_param1, &uid, sizeof(uid_t));
        g_array_append_vals(in_param2, &pid, sizeof(pid_t));
-       g_array_append_vals(in_param3, &size, sizeof(int));
+       g_array_append_vals(in_param3, &size, sizeof(unsigned int));
 
        ret = _bt_send_request(BT_BLUEZ_SERVICE, BT_RFCOMM_SEND_TX_DETAILS,
                in_param1, in_param2, in_param3, in_param4, &out_param);
index a642e10..315aa4b 100644 (file)
@@ -1446,7 +1446,7 @@ BT_EXPORT_API int bluetooth_rfcomm_write(int fd, const char *buf, int length)
                         BT_INFO("Adding rfcomm tx timeout function for battery monitor");
                         tx_tag = g_timeout_add_seconds(BATTERY_MONITOR_RFCOMM_INTERVAL, (GSourceFunc)__rfcomm_record_tx_data, NULL);
                 }
-                tx_data += length;
+                tx_data += written;
         }
        return written;
 #else
@@ -1456,7 +1456,7 @@ BT_EXPORT_API int bluetooth_rfcomm_write(int fd, const char *buf, int length)
                         BT_INFO("Adding rfcomm tx timeout function for battery monitor");
                         tx_tag = g_timeout_add_seconds(BATTERY_MONITOR_RFCOMM_INTERVAL, (GSourceFunc)__rfcomm_record_tx_data, NULL);
                 }
-                tx_data += length;
+                tx_data += written;
         }
        return result;
 #endif
index 8d69aab..6dc125d 100644 (file)
@@ -322,9 +322,9 @@ void _bt_convert_addr_type_to_string(char *address, unsigned char *addr);
 
 void _bt_convert_addr_type_to_secure_string(char *address, unsigned char *addr);
 
-int _bt_common_send_rfcomm_rx_details(int len);
+int _bt_common_send_rfcomm_rx_details(unsigned int len);
 
-int _bt_common_send_rfcomm_tx_details(int len);
+int _bt_common_send_rfcomm_tx_details(unsigned int len);
 
 int _bt_common_send_rfcomm_conn_info(int role, gboolean connected, int client_fd);
 
index b8d6b55..2d7b1dd 100644 (file)
@@ -1542,7 +1542,7 @@ int __bt_bluez_request(int function_name,
                int size;
                __bt_service_get_parameters(in_param1, &uid, sizeof(uid_t));
                __bt_service_get_parameters(in_param2, &pid, sizeof(pid_t));
-               __bt_service_get_parameters(in_param3, &size, sizeof(int));
+               __bt_service_get_parameters(in_param3, &size, sizeof(unsigned int));
                BT_DBG("Sending details to bluetooth battery monitor: %ld, %ld, %d", (long int)uid, (long int)pid, size);
                _bt_bm_add_transaction_details(uid, pid, size, RX_DATA);
                break;
@@ -1553,7 +1553,7 @@ int __bt_bluez_request(int function_name,
                int size;
                __bt_service_get_parameters(in_param1, &uid, sizeof(uid_t));
                __bt_service_get_parameters(in_param2, &pid, sizeof(pid_t));
-               __bt_service_get_parameters(in_param3, &size, sizeof(int));
+               __bt_service_get_parameters(in_param3, &size, sizeof(unsigned int));
                BT_DBG("Sending details to bluetooth battery monitor: %ld, %ld, %d", (long int)uid, (long int)pid, size);
                _bt_bm_add_transaction_details(uid, pid, size, TX_DATA);
                break;
index 16bd835..6c58e5b 100644 (file)
@@ -92,7 +92,7 @@ int _bt_bm_read_data(_bt_battery_data_t *data)
        uint32_t rx_time = 0;
        uint32_t idle_time = 0;
        uint32_t energy_used = 0;
-       uint16_t scan_time_per_app = 0;
+       uint32_t scan_time_per_app = 0;
        int scan_app_cnt = 0;
 
        BT_DBG("");
@@ -133,14 +133,14 @@ int _bt_bm_read_data(_bt_battery_data_t *data)
 
        data->session_scan_time = current_session_data->session_scan_time;
        if (scan_cnt) {
-               data->session_scan_time += (uint16_t)__bt_dm_time_diff_msec(scan_start, cur_time);
+               data->session_scan_time += (uint32_t)__bt_dm_time_diff_msec(scan_start, cur_time);
                gettimeofday(&scan_start, 0);
        }
        current_session_data->session_scan_time = 0;
 
        data->session_connected_time = current_session_data->session_connected_time;
        if (connect_cnt) {
-               data->session_connected_time += (uint16_t)__bt_dm_time_diff_msec(connect_start, cur_time);
+               data->session_connected_time += (uint32_t)__bt_dm_time_diff_msec(connect_start, cur_time);
                gettimeofday(&connect_start, 0);
        }
        current_session_data->session_connected_time = 0;
@@ -189,7 +189,7 @@ static GSList* is_app_present(GSList *start, uid_t uid, pid_t pid)
        return NULL;
 }
 
-void _bt_bm_add_transaction_details(uid_t uid, pid_t pid, int value, data_transaction_type_e type)
+void _bt_bm_add_transaction_details(uid_t uid, pid_t pid, unsigned int value, data_transaction_type_e type)
 {
        if (is_session_started == FALSE)
                __bt_start_session_time();
@@ -480,7 +480,7 @@ void _bt_stop_scan_time()
                        struct timeval cur_time;
 
                        gettimeofday(&cur_time, 0);
-                       current_session_data->session_scan_time += (uint16_t)(__bt_dm_time_diff_msec(scan_start, cur_time));
+                       current_session_data->session_scan_time += (uint32_t)(__bt_dm_time_diff_msec(scan_start, cur_time));
                        gettimeofday(&scan_start, 0);
                        gettimeofday(&app_scan_base, 0);
                }
@@ -525,7 +525,7 @@ void _bt_stop_connect_time()
                        struct timeval cur_time;
 
                        gettimeofday(&cur_time, 0);
-                       current_session_data->session_connected_time += (uint16_t)(__bt_dm_time_diff_msec(connect_start, cur_time));
+                       current_session_data->session_connected_time += (uint32_t)(__bt_dm_time_diff_msec(connect_start, cur_time));
                }
        }
 }
index 093353f..1cfd53d 100644 (file)
@@ -33,8 +33,8 @@ extern "C" {
 typedef struct {
        uid_t uid;
        pid_t pid;
-       uint16_t rx_bytes;
-       uint16_t tx_bytes;
+       uint32_t rx_bytes;
+       uint32_t tx_bytes;
        uint time;
 } _bt_battery_app_data_t;
 
@@ -44,8 +44,8 @@ typedef struct {
        uint32_t tx_time;
        uint32_t rx_time;
        uint32_t idle_time;
-       uint16_t session_connected_time;
-       uint16_t session_scan_time;
+       uint32_t session_connected_time;
+       uint32_t session_scan_time;
        GSList *atm_list;
 } _bt_battery_data_t;
 
@@ -71,7 +71,7 @@ void _bt_bm_event_handler(gpointer data);
 
 int _bt_bm_read_data(_bt_battery_data_t *data);
 
-void _bt_bm_add_transaction_details(uid_t uid, pid_t pid, int size, data_transaction_type_e type);
+void _bt_bm_add_transaction_details(uid_t uid, pid_t pid, unsigned int size, data_transaction_type_e type);
 
 void _bt_bm_add_scan_app(bt_bm_scan_type_e type, uid_t uid, pid_t pid);
 
index 50ee9a9..a1335c1 100644 (file)
@@ -332,16 +332,16 @@ typedef struct {
        uint32_t tx_time;
        uint32_t rx_time;
        uint32_t idle_time;
-       uint16_t session_connected_time;
-       uint16_t session_scan_time;
+       uint32_t session_connected_time;
+       uint32_t session_scan_time;
        GSList *atm_list;
 } bt_battery_data;
 
 typedef struct {
        uid_t uid;
        pid_t pid;
-       uint16_t rx_bytes;
-       uint16_t tx_bytes;
+       uint32_t rx_bytes;
+       uint32_t tx_bytes;
        uint time;
 } bt_battery_app_data;