From c23398fb379131ad3c5c17c3d762c582796698fb Mon Sep 17 00:00:00 2001 From: "yang.tian" Date: Fri, 5 Jul 2019 17:48:33 +0800 Subject: [PATCH] MA-15082 Do not pass btmacaddr from uboot if serial is all zero Do not pass BDADDR from uboot cmdline when serial is all zero, and instead btmacaddr will be set from persist.service.bdroid.bdaddr which is set in device's init.freescale.rc Change-Id: I429c6f369d0b7aaca643443fe505d943a3901215 Signed-off-by: yang.tian --- common/image-android.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/common/image-android.c b/common/image-android.c index 6d54d42f74..3bcf4b2b3f 100644 --- a/common/image-android.c +++ b/common/image-android.c @@ -126,16 +126,18 @@ int android_image_get_kernel(const struct andr_img_hdr *hdr, int verify, serialnr.low); strncat(commandline, newbootargs, sizeof(commandline) - strlen(commandline)); - char bd_addr[16]={0}; - sprintf(bd_addr, - "%08x%08x", - serialnr.high, - serialnr.low); - sprintf(newbootargs, - " androidboot.btmacaddr=%c%c:%c%c:%c%c:%c%c:%c%c:%c%c", - bd_addr[0],bd_addr[1],bd_addr[2],bd_addr[3],bd_addr[4],bd_addr[5], - bd_addr[6],bd_addr[7],bd_addr[8],bd_addr[9],bd_addr[10],bd_addr[11]); - strncat(commandline, newbootargs, sizeof(commandline) - strlen(commandline)); + if (serialnr.high + serialnr.low != 0) { + char bd_addr[16]={0}; + sprintf(bd_addr, + "%08x%08x", + serialnr.high, + serialnr.low); + sprintf(newbootargs, + " androidboot.btmacaddr=%c%c:%c%c:%c%c:%c%c:%c%c:%c%c", + bd_addr[0],bd_addr[1],bd_addr[2],bd_addr[3],bd_addr[4],bd_addr[5], + bd_addr[6],bd_addr[7],bd_addr[8],bd_addr[9],bd_addr[10],bd_addr[11]); + strncat(commandline, newbootargs, sizeof(commandline) - strlen(commandline)); + } #endif /* append soc type into bootargs */ -- 2.17.1