aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--usr.sbin/sesutil/sesutil.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/usr.sbin/sesutil/sesutil.c b/usr.sbin/sesutil/sesutil.c
index 99f6b2de63b0..863b95a0f8b0 100644
--- a/usr.sbin/sesutil/sesutil.c
+++ b/usr.sbin/sesutil/sesutil.c
@@ -279,6 +279,16 @@ sesled(int argc, char **argv, bool setfault)
char devnames[devnames_size];
if (all) {
+ encioc_elm_status_t es;
+ memset(&es, 0, sizeof(es));
+ es.elm_idx = objp[j].elm_idx;
+ if (ioctl(fd, ENCIOC_GETELMSTAT, &es) < 0) {
+ close(fd);
+ xo_err(EXIT_FAILURE,
+ "ENCIOC_GETELMSTAT");
+ }
+ if ((es.cstat[0] & 0xf) == SES_OBJSTAT_NOACCESS)
+ continue;
do_led(fd, objp[j].elm_idx, objp[j].elm_type,
onoff, setfault);
continue;