Author: rwatson
Date: Fri Jan  2 19:06:27 2015
New Revision: 276563
URL: https://svnweb.freebsd.org/changeset/base/276563

Log:
  In mbuf_to_synq_entry(), use M_START() and M_SIZE() to calculate an offset
  into mbuf storage, to reduce knowledge about mbuf/cluster layout in the
  cxgb device driver.
  
  Reviewed by:  np
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/sys/dev/cxgb/ulp/tom/cxgb_listen.c

Modified: head/sys/dev/cxgb/ulp/tom/cxgb_listen.c
==============================================================================
--- head/sys/dev/cxgb/ulp/tom/cxgb_listen.c     Fri Jan  2 19:05:39 2015        
(r276562)
+++ head/sys/dev/cxgb/ulp/tom/cxgb_listen.c     Fri Jan  2 19:06:27 2015        
(r276563)
@@ -442,26 +442,13 @@ static struct synq_entry *
 mbuf_to_synq_entry(struct mbuf *m)
 {
        int len = roundup(sizeof (struct synq_entry), 8);
-       uint8_t *buf;
-       int buflen;
 
        if (__predict_false(M_TRAILINGSPACE(m) < len)) {
            panic("%s: no room for synq_entry (%td, %d)\n", __func__,
            M_TRAILINGSPACE(m), len);
        }
 
-       if (m->m_flags & M_EXT) {
-               buf = m->m_ext.ext_buf;
-               buflen = m->m_ext.ext_size;
-       } else if (m->m_flags & M_PKTHDR) {
-               buf = &m->m_pktdat[0];
-               buflen = MHLEN;
-       } else {
-               buf = &m->m_dat[0];
-               buflen = MLEN;
-       }
-
-       return ((void *)(buf + buflen - len));
+       return ((void *)(M_START(m) + M_SIZE(m) - len));
 }
 
 #ifdef KTR
_______________________________________________
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