diff --git a/src/qosmngr.c b/src/qosmngr.c
index adae6acc525298c1eef1a6aa1cc156f846bce79e..702421393c0bd41d62726ca2dcfff525c6d1dc72 100644
--- a/src/qosmngr.c
+++ b/src/qosmngr.c
@@ -261,10 +261,11 @@ static int prepare_stats_blob(struct blob_buf *b, struct qos_stats *stats, void
 
 	blobmsg_add_string(b, "iface", ifname);
 	blobmsg_add_u32(b, "qid", (uint32_t)qid);
-	blobmsg_add_u32(b, "tx_packets", (uint32_t)q_stat->tx_packets);
-	blobmsg_add_u32(b, "tx_bytes", (uint32_t)q_stat->tx_bytes);
-	blobmsg_add_u32(b, "tx_dropped_packets", (uint32_t)q_stat->tx_dropped_packets);
-	blobmsg_add_u32(b, "tx_dropped_bytes", (uint32_t)q_stat->tx_dropped_bytes);
+        blobmsg_add_u64(b, "tx_packets", (uint64_t)q_stat->tx_packets);
+        blobmsg_add_u64(b, "tx_bytes", (uint64_t)q_stat->tx_bytes);
+        blobmsg_add_u64(b, "tx_dropped_packets", (uint64_t)q_stat->tx_dropped_packets);
+        blobmsg_add_u64(b, "tx_dropped_bytes", (uint64_t)q_stat->tx_dropped_bytes);
+
 
 	blobmsg_close_table(b, dd);
 
@@ -429,7 +430,7 @@ int qosmngr_get_stats(struct ubus_context *ctx, struct ubus_object *obj,
 	void *d = NULL, *dd = NULL;
 
 	blobmsg_parse(get_status_policy, QOS_POLICY_MAX, tb, blob_data(msg),
-							blob_len(msg));
+							(unsigned int)blob_len(msg));
 
 	if (tb[QOS_POLICY_IFNAME])
 		strncpy(ifname, blobmsg_data(tb[QOS_POLICY_IFNAME]), sizeof(ifname)-1);