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.for...@stericsson.com>
---
  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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to