The proper way to check for a normal mbuf cluster is with the
authorJeffrey Hsu <hsu@dragonflybsd.org>
Sat, 27 Aug 2005 03:05:24 +0000 (03:05 +0000)
committerJeffrey Hsu <hsu@dragonflybsd.org>
Sat, 27 Aug 2005 03:05:24 +0000 (03:05 +0000)
M_EXT_CLUSTER flag.

sys/dev/atm/en/midway.c

index 278ecb5..3b07650 100644 (file)
@@ -33,7 +33,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/dev/en/midway.c,v 1.19.2.1 2003/01/23 21:06:42 sam Exp $
- * $DragonFly: src/sys/dev/atm/en/midway.c,v 1.19 2005/06/08 23:10:27 hsu Exp $
+ * $DragonFly: src/sys/dev/atm/en/midway.c,v 1.20 2005/08/27 03:05:24 hsu Exp $
  */
 
 /*
@@ -1708,7 +1708,7 @@ STATIC int en_makeexclusive(sc, mm, prev)
     m = *mm;
     
     if (m->m_flags & M_EXT) {
-       if (m->m_ext.ext_free) {
+       if (!(m->m_flags & M_EXT_CLUSTER)) {
            /* external buffer isn't an ordinary mbuf cluster! */
            printf("%s: mfix: special buffer! can't make a copy!\n",
                   sc->sc_dev.dv_xname);