diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testing/nvdimm/test/nfit.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/testing/nvdimm/test/nfit.c b/tools/testing/nvdimm/test/nfit.c index edab68c2e221..7217b2b953b5 100644 --- a/tools/testing/nvdimm/test/nfit.c +++ b/tools/testing/nvdimm/test/nfit.c | |||
@@ -1812,6 +1812,7 @@ static int nfit_ctl_test(struct device *dev) | |||
1812 | unsigned long mask, cmd_size, offset; | 1812 | unsigned long mask, cmd_size, offset; |
1813 | union { | 1813 | union { |
1814 | struct nd_cmd_get_config_size cfg_size; | 1814 | struct nd_cmd_get_config_size cfg_size; |
1815 | struct nd_cmd_clear_error clear_err; | ||
1815 | struct nd_cmd_ars_status ars_stat; | 1816 | struct nd_cmd_ars_status ars_stat; |
1816 | struct nd_cmd_ars_cap ars_cap; | 1817 | struct nd_cmd_ars_cap ars_cap; |
1817 | char buf[sizeof(struct nd_cmd_ars_status) | 1818 | char buf[sizeof(struct nd_cmd_ars_status) |
@@ -1995,6 +1996,23 @@ static int nfit_ctl_test(struct device *dev) | |||
1995 | return -EIO; | 1996 | return -EIO; |
1996 | } | 1997 | } |
1997 | 1998 | ||
1999 | /* test clear error */ | ||
2000 | cmd_size = sizeof(cmds.clear_err); | ||
2001 | cmds.clear_err = (struct nd_cmd_clear_error) { | ||
2002 | .length = 512, | ||
2003 | .cleared = 512, | ||
2004 | }; | ||
2005 | rc = setup_result(cmds.buf, cmd_size); | ||
2006 | if (rc) | ||
2007 | return rc; | ||
2008 | rc = acpi_nfit_ctl(&acpi_desc->nd_desc, NULL, ND_CMD_CLEAR_ERROR, | ||
2009 | cmds.buf, cmd_size, &cmd_rc); | ||
2010 | if (rc < 0 || cmd_rc) { | ||
2011 | dev_dbg(dev, "%s: failed at: %d rc: %d cmd_rc: %d\n", | ||
2012 | __func__, __LINE__, rc, cmd_rc); | ||
2013 | return -EIO; | ||
2014 | } | ||
2015 | |||
1998 | return 0; | 2016 | return 0; |
1999 | } | 2017 | } |
2000 | 2018 | ||