Merge cherrypicks of ['googleplex-android-review.googlesource.com/21101261'] into tm-qpr2-release.

Change-Id: I27770d4e32736280f18494b540caa29c468917a0
diff --git a/system/btif/co/bta_hh_co.cc b/system/btif/co/bta_hh_co.cc
index 6115627..90fe1df 100644
--- a/system/btif/co/bta_hh_co.cc
+++ b/system/btif/co/bta_hh_co.cc
@@ -673,16 +673,15 @@
     ev.type = UHID_FEATURE_ANSWER;
     ev.u.feature_answer.id = *get_rpt_id;
     ev.u.feature_answer.err = status;
-    ev.u.feature_answer.size = len - GET_RPT_RSP_OFFSET;
+    ev.u.feature_answer.size = len;
     osi_free(get_rpt_id);
-    if (len > GET_RPT_RSP_OFFSET) {
-      if (len - GET_RPT_RSP_OFFSET > UHID_DATA_MAX) {
+    if (len > 0) {
+      if (len > UHID_DATA_MAX) {
         APPL_TRACE_WARNING("%s: Report size greater than allowed size",
                            __func__);
         return;
       }
-      memcpy(ev.u.feature_answer.data, p_rpt + GET_RPT_RSP_OFFSET,
-             len - GET_RPT_RSP_OFFSET);
+      memcpy(ev.u.feature_answer.data, p_rpt + GET_RPT_RSP_OFFSET, len);
       uhid_write(p_dev->fd, &ev);
     }
   }