diff options
author | rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-07-23 01:30:16 +0000 |
---|---|---|
committer | rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-07-23 01:30:16 +0000 |
commit | 88e349f1feaa7a9963cc044e8e815db4eed198bf (patch) | |
tree | 08d40b7195ce2d7af4290b58e89f6d755d977733 /ShellPkg | |
parent | 409669d53e8327d364fdbe10b6d7e4b27713fef5 (diff) | |
download | edk2-88e349f1feaa7a9963cc044e8e815db4eed198bf.zip edk2-88e349f1feaa7a9963cc044e8e815db4eed198bf.tar.gz edk2-88e349f1feaa7a9963cc044e8e815db4eed198bf.tar.bz2 |
Fixed a bug that the system hangs with an assert in DiskIo.c that is division overflow due to block size == 0 when no flppy media is present in a specific type of USB floppy drive (NEC PC-VP-BU04)at power on.
Root cause is that Read Capacity command returns media not present error, then UsbMassStorage driver issues Sense Request command to get the sense data. However, the USB floppy drive still returns the previous error for the Sense Request command. UsbBootRequestSense() does not handle this case correctly and returns EFI_SUCCESS so that the block size of the Block IO protocol instance is set to be 0.
Solution is to fix the logic to handle the case and add protective logic to avoid setting block size to be 0.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8979 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ShellPkg')
0 files changed, 0 insertions, 0 deletions