Merge "Address const/non-const issues in preparation for libcxx rebase"
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp
index d66e2fe..009988a 100644
--- a/cmds/dumpstate/dumpstate.cpp
+++ b/cmds/dumpstate/dumpstate.cpp
@@ -77,6 +77,7 @@
/* Can accomodate a tombstone number up to 9999. */
#define TOMBSTONE_MAX_LEN (sizeof(TOMBSTONE_FILE_PREFIX) + 4)
#define NUM_TOMBSTONES 10
+#define WLUTIL "/vendor/xbin/wlutil"
typedef struct {
char name[TOMBSTONE_MAX_LEN];
@@ -845,13 +846,13 @@
#ifdef FWDUMP_bcmdhd
run_command("ND OFFLOAD TABLE", 5,
- SU_PATH, "root", "wlutil", "nd_hostip", NULL);
+ SU_PATH, "root", WLUTIL, "nd_hostip", NULL);
run_command("DUMP WIFI INTERNAL COUNTERS (1)", 20,
- SU_PATH, "root", "wlutil", "counters", NULL);
+ SU_PATH, "root", WLUTIL, "counters", NULL);
run_command("ND OFFLOAD STATUS (1)", 5,
- SU_PATH, "root", "wlutil", "nd_status", NULL);
+ SU_PATH, "root", WLUTIL, "nd_status", NULL);
#endif
dump_file("INTERRUPTS (1)", "/proc/interrupts");
@@ -863,10 +864,10 @@
SU_PATH, "root", "dhdutil", "-i", "wlan0", "dump", NULL);
run_command("DUMP WIFI INTERNAL COUNTERS (2)", 20,
- SU_PATH, "root", "wlutil", "counters", NULL);
+ SU_PATH, "root", WLUTIL, "counters", NULL);
run_command("ND OFFLOAD STATUS (2)", 5,
- SU_PATH, "root", "wlutil", "nd_status", NULL);
+ SU_PATH, "root", WLUTIL, "nd_status", NULL);
#endif
dump_file("INTERRUPTS (2)", "/proc/interrupts");
diff --git a/cmds/servicemanager/binder.c b/cmds/servicemanager/binder.c
index 01218c9..27c461a 100644
--- a/cmds/servicemanager/binder.c
+++ b/cmds/servicemanager/binder.c
@@ -181,13 +181,18 @@
void binder_send_reply(struct binder_state *bs,
struct binder_io *reply,
+ binder_uintptr_t buffer_to_free,
int status)
{
struct {
+ uint32_t cmd_free;
+ binder_uintptr_t buffer;
uint32_t cmd_reply;
struct binder_transaction_data txn;
} __attribute__((packed)) data;
+ data.cmd_free = BC_FREE_BUFFER;
+ data.buffer = buffer_to_free;
data.cmd_reply = BC_REPLY;
data.txn.target.ptr = 0;
data.txn.cookie = 0;
@@ -250,9 +255,11 @@
bio_init(&reply, rdata, sizeof(rdata), 4);
bio_init_from_txn(&msg, txn);
res = func(bs, txn, &msg, &reply);
- binder_free_buffer(bs, txn->data.ptr.buffer);
- if ((txn->flags & TF_ONE_WAY) == 0)
- binder_send_reply(bs, &reply, res);
+ if (txn->flags & TF_ONE_WAY) {
+ binder_free_buffer(bs, txn->data.ptr.buffer);
+ } else {
+ binder_send_reply(bs, &reply, txn->data.ptr.buffer, res);
+ }
}
ptr += sizeof(*txn);
break;