Wind River Support Network


LIN7-6451 : MMC driver reports incorrect partition size at boot

Created: Jun 29, 2016    Updated: Sep 8, 2018
Resolved Date: Jul 11, 2016
Found In Version:
Fix Version:
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 

Steps to Reproduce

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.

Other Downloads

Live chat