On 11/17/2011 04:56 AM, Sujit Reddy Thumma wrote: > 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? It's up to each test case to set the test transfer size. It's not necessary to align max_size but it wouldn't make any harm either. All tests use a multiple of 512 blocks, but this may be changed of course in the future to support large blocks. The max_seg_sz must be aligned otherwise the host driver may get sg-elements that are hard to handle, aligned to 1 byte in the worst case. The test case don't control how the transfer is sg-mapped. /Per -- 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