Hi, On Sun, Mar 17 2013, Chris Ball wrote: > I've been working on a bringup of an new board in Harmonic Inc. > This board uses Sandisk iNand eMMC flash. > I've noticed that the mmc driver keeps detecting 1 bit width although HW > supports 4 bit, looked into it, and found the problem. In line 571 at mmc.c: > There is: > /* only compare read only fields */ > err = !((card->ext_csd.raw_partition_support == > bw_ext_csd[EXT_CSD_PARTITION_SUPPORT]) && > (card->ext_csd.raw_erased_mem_count == > bw_ext_csd[EXT_CSD_ERASED_MEM_CONT]) && > (card->ext_csd.rev == > bw_ext_csd[EXT_CSD_REV]) && > (card->ext_csd.raw_ext_csd_structure == > ... > > The problem is that raw_partition_support is not the same when setting width of > 4 bits instead of 1 bit, and shouldn't be compared at all although it is read > only. > this should be changed to: > /* only compare read only fields */ > err = !((card->ext_csd.raw_erased_mem_count == > bw_ext_csd[EXT_CSD_ERASED_MEM_CONT]) && > (card->ext_csd.rev == > bw_ext_csd[EXT_CSD_REV]) && > (card->ext_csd.raw_ext_csd_structure == > ... Philip, what do you think? Thanks, - Chris. -- Chris Ball <cjb@xxxxxxxxxx> <http://printf.net/> One Laptop Per Child -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html