Author: mdf
Date: Thu Sep  9 18:35:08 2010
New Revision: 212371
URL: http://svn.freebsd.org/changeset/base/212371

Log:
  Fix an incorrect use of sbuf_overflowed() after a call to sbuf_finish().

Modified:
  head/sys/dev/led/led.c

Modified: head/sys/dev/led/led.c
==============================================================================
--- head/sys/dev/led/led.c      Thu Sep  9 18:33:46 2010        (r212370)
+++ head/sys/dev/led/led.c      Thu Sep  9 18:35:08 2010        (r212371)
@@ -220,15 +220,11 @@ led_write(struct cdev *dev, struct uio *
                        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));
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to