On 11/14/2011 4:34 PM, Per Forlin wrote:
If max_seg_size is unaligned, mmc_test_map_sg() may create sg element sizes that are not aligned with 512 byte. Fix, align max_seg_size at mmc_test_area_init(). Signed-off-by: Per Forlin<per.forlin@xxxxxxxxxxxxxx> --- drivers/mmc/card/mmc_test.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/mmc/card/mmc_test.c b/drivers/mmc/card/mmc_test.c index b038c4a..5848998 100644 --- a/drivers/mmc/card/mmc_test.c +++ b/drivers/mmc/card/mmc_test.c @@ -1581,6 +1581,7 @@ static int mmc_test_area_init(struct mmc_test_card *test, int erase, int fill) t->max_segs = test->card->host->max_segs; t->max_seg_sz = test->card->host->max_seg_size; + t->max_seg_sz -= t->max_seg_sz % 512;
Shouldn't we align this to host->max_blk_size supported by controller? I guess there are some extended capacity cards which claim to support 4096bytes as block size. I am not sure if any card/controller supports this mode yet.
t->max_tfr = t->max_sz; if (t->max_tfr>> 9> test->card->host->max_blk_count)
-- Thanks, Sujit -- 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