Merge "dev: pqnp_wled: disable fast precharge to avoid inrush current"
diff --git a/app/aboot/fastboot_test.c b/app/aboot/fastboot_test.c
index 64c0f7f..70bc64e 100644
--- a/app/aboot/fastboot_test.c
+++ b/app/aboot/fastboot_test.c
@@ -88,6 +88,13 @@
dprintf(INFO, "Running RPMB test case, please make sure RPMB key is provisioned ...\n");
struct device_info *write_info = memalign(PAGE_SIZE, 4096);
struct device_info *read_info = memalign(PAGE_SIZE, 4096);
+
+ if((write_info == NULL)||(read_info == NULL))
+ {
+ dprintf(CRITICAL, "Failed to allocate memory for devinfo %s %d \n",__FUNCTION__,__LINE__);
+ goto err;
+ }
+
if((read_device_info_rpmb((void*) read_info, PAGE_SIZE)) < 0)
dprintf(INFO, "RPMB READ TEST : [ FAIL ]\n");
@@ -104,6 +111,7 @@
else
dprintf(INFO, "RPMB READ/WRITE TEST: [ FAIL ]\n");
+err:
free(read_info);
free(write_info);
#endif
diff --git a/platform/msm_shared/dme.c b/platform/msm_shared/dme.c
index c6d651d..c98730b 100644
--- a/platform/msm_shared/dme.c
+++ b/platform/msm_shared/dme.c
@@ -493,13 +493,20 @@
return -UFS_FAILURE;
}
- dev->lun_cfg[index].logical_blk_cnt = BE64(desc->logical_blk_cnt);
-
- dev->lun_cfg[index].erase_blk_size = BE32(desc->erase_blk_size);
-
// use only the lower 32 bits for rpmb partition size
if (index == UFS_WLUN_RPMB)
dev->rpmb_num_blocks = BE32(desc->logical_blk_cnt >> 32);
+ /*
+ rpmb will not use blk count and blk size from lun_cfg as it has
+ its own entries in ufs_dev structure
+ */
+ else
+ {
+ dev->lun_cfg[index].logical_blk_cnt = BE64(desc->logical_blk_cnt);
+ dev->lun_cfg[index].erase_blk_size = BE32(desc->erase_blk_size);
+ }
+
+
return UFS_SUCCESS;
}
diff --git a/platform/msm_shared/rpm-glink.c b/platform/msm_shared/rpm-glink.c
index 2635cd1..f564480 100644
--- a/platform/msm_shared/rpm-glink.c
+++ b/platform/msm_shared/rpm-glink.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2015-2016 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -59,6 +59,19 @@
extern glink_err_type glink_wait_link_down(glink_handle_type handle);
+static void rpmdatacpy(uint32_t * dst, uint32_t *src, uint32_t size)
+{
+ if(size%4)
+ ASSERT(0);
+ size = size/4;
+
+ while (size >0)
+ {
+ *dst++ = *src++;
+ size--;
+ }
+}
+
glink_err_type rpm_glink_send_data(uint32_t *data, uint32_t len, msg_type type)
{
rpm_req req;
@@ -198,7 +211,7 @@
return_buffer = vprovider(buffer, offset, &return_size);
if(return_buffer)
{
- memcpy(rx_buffer+offset,return_buffer, return_size);
+ rpmdatacpy((uint32_t *)(rx_buffer + offset),(uint32_t *)return_buffer, return_size);
offset += return_size;
}
} while(return_buffer);
@@ -241,7 +254,7 @@
return_buffer = vprovider(buffer, offset, &return_size);
if(return_buffer)
{
- memcpy(rx_buffer+offset,return_buffer, return_size);
+ rpmdatacpy((uint32_t *)(rx_buffer + offset),(uint32_t *)return_buffer, return_size);
offset += return_size;
}
} while(return_buffer);