Wind River Support Network

HomeDefectsLIN7-6451
Fixed

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: 7.0.0.16
Fix Version: 7.0.0.18
Severity: Standard
Applicable for: Wind River Linux 7
Component/s: Kernel

Description

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"

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
Online