FAT file system crashes when creating new file or directory within the UefiShell or EdkShell (microSD Card)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Arndale |
Confirmed
|
Undecided
|
Shivamurthy | ||
Linaro UEFI |
Won't Fix
|
Critical
|
Steven Kinney |
Bug Description
While integrating the UEFI.org SCT onto the Arndale board, within the EdkShell environment, the FAT file system crashed when the SCT installer attempted to create a new directory; note the microSD Card is hosting the file system.
In troubleshooting to problem, the UefiShell environment has the same symptoms and times out when trying to create the new directory:
2.0 Shell> mkdir fs0:\test
SDHC::MSHC_SendCmd timeout CMD:24 RINT:0x10
CMD24 fails. Status: 80000012
TransferBlockData fails. 80000012
SDHC::MSHC_SendCmd timeout CMD:24 RINT:0x1010
CMD24 fails. Status: 80000012
TransferBlockData fails. 80000012
SDHC::MSHC_SendCmd timeout CMD:24 RINT:0x1010
CMD24 fails. Status: 80000012
TransferBlockData fails. 80000012
Directory 'fs0:\test' unable to create.
2.0 Shell>
In addition, the FAT file system crashes as shown below:
2.0 FS0:\> ls
SDHC::MSHC_SendCmd timeout CMD:24 RINT:0x1010
CMD24 fails. Status: 80000012
TransferBlockData fails. 80000012
Error. No matching files were found.
2.0 FS0:\>
This failure mode has been verified independently and is blocking UEFI SCT integration relative to the Arndale board.
Identified the problem in:
~/SamsungPla
Specifically in function TransferBlock(). There is a timing issue that causes a problem with block write without a DEBUG delay. Still looking at the timing stack-up, but writes to SDHC within UefiShell are now functional; albeit noisy.
Down to a single "delay", using DEBUG, to correct the problem and will update and fix this bug for long term, but for now the UefiShell SDHC writes are non-blocking.
BTW, this is on the Arndale board and I can supply a patch so that regression testing can verify this short term fix across other platforms.
Changed in arndale: | |
assignee: | nobody → Shivamurthy (shiva-linuxworks) |
Changed in arndale: | |
status: | New → Confirmed |
Changed in linaro-uefi: | |
assignee: | nobody → Steven Kinney (steven-kinney) |
importance: | Undecided → Critical |
status: | New → Confirmed |
This doesn't just happen on the Arndale. It happens in models and VE board