mmc-utils: Allow for custom sanitize timeout
Some cards with certain preconditioning require a higher timeout when sanitizing. Let the user set the maximum timeout. Signed-off-by: Christian Loehle <cloehle@hyperstone.com> Reviewed-by: Avri Altman <avri.altman@wdc.com> Link: https://lore.kernel.org/r/4ddb5a5510d74645b2724d274c96ab02@hyperstone.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
1 parent
d939fb5c0f
commit
34577b2378
2 files changed
+8
-4
No files matched your search
@@ -150,7 +150,7 @@ static struct Command commands[] = {
|
||||
NULL
|
||||
},
|
||||
{ do_sanitize, -1,
|
||||
"sanitize", "<device>\n"
|
||||
"sanitize", "<device> [timeout_ms]\n"
|
||||
"Send Sanitize command to the <device>.\nThis will delete the unmapped memory region of the device.",
|
||||
NULL
|
||||
},
|
||||
|
||||
+7
-3
@@ -1986,12 +1986,16 @@ int do_sanitize(int nargs, char **argv)
|
||||
{
|
||||
int fd, ret;
|
||||
char *device;
|
||||
unsigned int timeout = 0;
|
||||
|
||||
if (nargs != 2) {
|
||||
fprintf(stderr, "Usage: mmc sanitize </path/to/mmcblkX>\n");
|
||||
if (nargs != 2 && nargs != 3) {
|
||||
fprintf(stderr, "Usage: mmc sanitize </path/to/mmcblkX> [timeout_in_ms]\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (nargs == 3)
|
||||
timeout = strtol(argv[2], NULL, 10);
|
||||
|
||||
device = argv[1];
|
||||
|
||||
fd = open(device, O_RDWR);
|
||||
@@ -2000,7 +2004,7 @@ int do_sanitize(int nargs, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
ret = write_extcsd_value(fd, EXT_CSD_SANITIZE_START, 1, 0);
|
||||
ret = write_extcsd_value(fd, EXT_CSD_SANITIZE_START, 1, timeout);
|
||||
if (ret) {
|
||||
fprintf(stderr, "Could not write 0x%02x to EXT_CSD[%d] in %s\n",
|
||||
1, EXT_CSD_SANITIZE_START, device);
|
||||
|
||||
Reference in new issue
Block a user