Fixed
Created: Jun 29, 2016
Updated: Sep 8, 2018
Resolved Date: Jul 11, 2016
Found In Version: 7.0.0.16
Fix Version: 7.0.0.18
Severity: Standard
Applicable for: Wind River Linux 7
Component/s: Kernel
A customer creates 2 partition in a eMMC device(Micron MTFC16GAKAECN-4M_IT) as below.
- Partition 1
Enhanced User Data Area:
Size: 0x30 (393,216 KiB) <- 384MB
Offset address: 0x0
- Partition 2
General Purpose Partition:
Size: 0x340 (6,815,744 KiB) <- 6.5GB
MMC driver reports the partitions size like below at boot.
<Snipped from boot log>
mmc2: BKOPS_EN bit is not set
mmc2: new high speed DDR MMC card at address 0001
mmcblk0: mmc2:0001 R1J56L 384 MiB <- Partition 1 size is OK.
mmcblk0boot0: mmc2:0001 R1J56L partition 1 16.0 MiB
mmcblk0boot1: mmc2:0001 R1J56L partition 2 16.0 MiB
mmcblk0gp0: mmc2:0001 R1J56L partition 4 2.50 GiB <- Partition 2 size is incorrect. It should be 6.5GB
mmcblk0rpmb: mmc2:0001 R1J56L partition 3 128 KiB
According to the customer's debugging, the problem is caused
by type of below data to hold partition size in mmc_read_ext_csd().
Its data length can not hold over 4GB size.
unsigned int part_size;
Proposed patch for RCPL14 by the customer is attached as
"0002-modified-mmc-driver-partition-issue.patch"
Create a platform project for Bay trail target with below configure command.
configure --enable-reconfig --enable-board=intel-baytrail-64 --enable-kernel=standard --enable-rootfs=glibc-core --enable-build=production
Create a partition which size is larger than 4GB.