Commit 3c027595 authored by Tomas Melin's avatar Tomas Melin Committed by Chris Ball
Browse files

Fix reported offset for enhanced user area start address



Block-addressed devices should have address multiplied with sector size.

Clarify with comment how is_blockaddressed() is calculated.
Signed-off-by: default avatarTomas Melin <tomas.melin@vaisala.com>
Signed-off-by: default avatarChris Ball <chris@printf.net>
parent a3d3331e
...@@ -795,6 +795,7 @@ int is_blockaddresed(__u8 *ext_csd) ...@@ -795,6 +795,7 @@ int is_blockaddresed(__u8 *ext_csd)
{ {
unsigned int sectors = get_sector_count(ext_csd); unsigned int sectors = get_sector_count(ext_csd);
/* over 2GiB devices are block-addressed */
return (sectors > (2u * 1024 * 1024 * 1024) / 512); return (sectors > (2u * 1024 * 1024 * 1024) / 512);
} }
...@@ -1659,7 +1660,7 @@ int do_read_extcsd(int nargs, char **argv) ...@@ -1659,7 +1660,7 @@ int do_read_extcsd(int nargs, char **argv)
printf("Enhanced User Data Start Address" printf("Enhanced User Data Start Address"
" [ENH_START_ADDR]: 0x%06x\n", regl); " [ENH_START_ADDR]: 0x%06x\n", regl);
printf(" i.e. %lu bytes offset\n", (is_blockaddresed(ext_csd) ? printf(" i.e. %lu bytes offset\n", (is_blockaddresed(ext_csd) ?
1l : 512l) * regl); 512l : 1l) * regl);
/* A441]: reserved [135] */ /* A441]: reserved [135] */
printf("Bad Block Management mode" printf("Bad Block Management mode"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment