Author: tuexen
Date: Sat Sep 12 17:58:15 2009
New Revision: 197122
URL: http://svn.freebsd.org/changeset/base/197122

Log:
  This fixes a bug where the value set by SCTP_PARTIAL_DELIVERY_POINT
  was not honored, if the socket buffer size was not 4 times that large.
  MFC of 196509.
  
  Approved by: re, rrs (mentor)`

Modified:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)
  stable/8/sys/netinet/sctp_indata.c

Modified: stable/8/sys/netinet/sctp_indata.c
==============================================================================
--- stable/8/sys/netinet/sctp_indata.c  Sat Sep 12 17:36:00 2009        
(r197121)
+++ stable/8/sys/netinet/sctp_indata.c  Sat Sep 12 17:58:15 2009        
(r197122)
@@ -921,7 +921,7 @@ doit_again:
                         * but should we?
                         */
                        if (stcb->sctp_socket) {
-                               pd_point = 
min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket) >> SCTP_PARTIAL_DELIVERY_SHIFT,
+                               pd_point = 
min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket),
                                    stcb->sctp_ep->partial_delivery_point);
                        } else {
                                pd_point = 
stcb->sctp_ep->partial_delivery_point;
@@ -2862,11 +2862,11 @@ doit_again:
 
                /*
                 * Before we start though either all of the message should
-                * be here or 1/4 the socket buffer max or nothing on the
+                * be here or the socket buffer max or nothing on the
                 * delivery queue and something can be delivered.
                 */
                if (stcb->sctp_socket) {
-                       pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket) >> 
SCTP_PARTIAL_DELIVERY_SHIFT,
+                       pd_point = min(SCTP_SB_LIMIT_RCV(stcb->sctp_socket),
                            stcb->sctp_ep->partial_delivery_point);
                } else {
                        pd_point = stcb->sctp_ep->partial_delivery_point;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to