Chris Conley

iMX31 SDHC corruption on CE6R3

Discussion created by Chris Conley on Jun 15, 2012

Hello all,

 

We've run into an issue and wanted to know if anyone else has seen this on the imx31 or related CE BSPs.

 

Platform config: iMX31, CE6R3 (patch updated), SD Card as boot device and Root FS.

 

Issue: data being written out (either to a database or a log file) to either the incorrect sector or the incorrect file.  

Failure Mode: Write size is > 1 sector (write multiple block is the command path, for the stress app, the datum size is 2k).

 

We have a stress tool that can make it show up in PIO-only mode (SDMA and gating both off), but it is timing related so it is time-consuming to hit a failure point and debug output makes the failure happen less (hours required to see a failure).

 

I know buffer marshaling has been updated and see other sdhc-related fixes in updates this past year, so it isn't outside the realm of possibility this is an SD client bug in public code (still investigating the buffer life during the stop_xmis callback).

I have tried both the MXARM11 and the mxarm11_fsl_v1 version of the PlatComm SDHC code, and both code bases exhibit the problem.  Since the _fsl_v1 code does full request locking, I don't think the SDHC.DLL code is the issue.  The issue also doesn't show up if the Root FS is on a different partition/device.

 

Cheers,

 

//Chris

Outcomes