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;