aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/led
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2011-06-17 06:17:45 +0000
committerAlexander Motin <mav@FreeBSD.org>2011-06-17 06:17:45 +0000
commit7263fd2bde57e3a28cff7234b101554e738e7d0d (patch)
treeffe501e56ca33c87d74557d2ab21372e27558d0a /sys/dev/led
parented82f85c69ef3ead4ca9b5998076b1a2f9b8f080 (diff)
Notes
Diffstat (limited to 'sys/dev/led')
-rw-r--r--sys/dev/led/led.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/dev/led/led.c b/sys/dev/led/led.c
index fdd0fa2d0062..521006c9dd8b 100644
--- a/sys/dev/led/led.c
+++ b/sys/dev/led/led.c
@@ -220,15 +220,11 @@ led_write(struct cdev *dev, struct uio *uio, int ioflag)
free(s2, M_DEVBUF);
return (EINVAL);
}
- sbuf_finish(sb);
+ error = sbuf_finish(sb);
free(s2, M_DEVBUF);
- if (sbuf_overflowed(sb)) {
+ if (error != 0 || sbuf_len(sb) == 0) {
sbuf_delete(sb);
- return (ENOMEM);
- }
- if (sbuf_len(sb) == 0) {
- sbuf_delete(sb);
- return (0);
+ return (error);
}
return (led_state(dev, sb, 0));