Add MMC password protection (lock/unlock) support V3
PATCH 5/5 Add MMC password protection (lock/unlock) support V3
The MMC_LOCK_UNLOCK command requires the block length to be exactly the password length + 2 bytes, but hardware-specific drivers force a "power of 2" block size.
This patch sends the exact block size (password + 2 bytes) to the host. OMAP specific.
Signed-off-by Anderson Briglia <[email protected]>
Signed-off-by Anderson Lizardo <[email protected]>
Signed-off-by Carlos Eduardo Aguiar <[email protected]>
drivers/mmc/omap.c +6 -2
@@ -889,8 +889,12 @@ mmc_omap_prepare_data(struct mmc_omap_horeturn ; } - - block_size =1 << data->blksz_bits; +/* password protection: we need to send the exact block size to the +* card (password + 2), not a 2-exponent. */ +if (req->cmd->opcode ==MMC_LOCK_UNLOCK ) + block_size = data->sg[0 ].length; +else + block_size =1 << data->blksz_bits;OMAP_MMC_WRITE (host->base,NBLK , data->blocks -1 );OMAP_MMC_WRITE (host->base,BLEN , block_size -1 );