[U-Boot] A question about driver/mmc/mmc.c

Hi All,
I use implement the esdhc driver and use driver/mmc/mmc.c and I think there might be a bug.
I have a 4G mmc plus card in hand.
The mmc_send_op_cond( ) function in mmc_init( ) will set mmc->high_capacity to 0. It's not a high capacity card.
And in mmc_change_freq( ), due to SEC_CNT in ext_csd[ ] is not zero, mmc->high_capacity will be set to 1. It will be addressed by sector.
But this card is not a high capacity card. Sector address will make it access wrong data.
When I comment the line:
if (ext_csd[212] || ext_csd[213] || ext_csd[214] || ext_csd[215]) mmc->high_capacity = 1;
The data in mmc can be read and write correctly.
Is this need to be changed?
Thanks~~
Yours Terry
General Business Information Freescale Internal Use Only Freescale Confidential Proprietary
participants (1)
-
Lv Terry-R65388