Hi Sergei > > + if (card->host->caps2 & MMC_CAP2_2BLKS_LIMIT) { > > + /* > > + * In some controllers, when performing a > > + * multiple block read of one or two blocks, > > + * depending on the timing with which the > > + * response register is read, the response > > + * value may not be read properly. > > + * Use single block read for this HW bug > > + */ > > + if (brq->data.blocks == 2) > > + brq->data.blocks = 1; > > I don't understand: previous code set 'brq->data.blocks' to 1 in any case > without your extra flag. Why there's a need to set it specifically for 2 > blocks (and not set for a larger # of blocks)? This looks like an optimization > of some sort, not a workaround?.. Basically, we want to use multi block read. Otherwise, the speed will be super slow if it always use single block. (Previous code force to single block) But we need to switch to single block mode if brq->data.blocks == 2. Please read the above comment for detail. -- 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