diff options
Diffstat (limited to 'usr/src/uts/common/os/strsubr.c')
-rw-r--r-- | usr/src/uts/common/os/strsubr.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/usr/src/uts/common/os/strsubr.c b/usr/src/uts/common/os/strsubr.c index 3f64f77cff..c3d928c586 100644 --- a/usr/src/uts/common/os/strsubr.c +++ b/usr/src/uts/common/os/strsubr.c @@ -23,7 +23,7 @@ /* - * Copyright 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -8516,6 +8516,7 @@ void lso_info_set(mblk_t *mp, uint32_t mss, uint32_t flags) { ASSERT(DB_TYPE(mp) == M_DATA); + ASSERT((flags & ~HW_LSO_FLAGS) == 0); /* Set the flags */ DB_LSOFLAGS(mp) |= flags; @@ -8523,12 +8524,22 @@ lso_info_set(mblk_t *mp, uint32_t mss, uint32_t flags) } void +lso_info_cleanup(mblk_t *mp) +{ + ASSERT(DB_TYPE(mp) == M_DATA); + + /* Clear the flags */ + DB_LSOFLAGS(mp) &= ~HW_LSO_FLAGS; + DB_LSOMSS(mp) = 0; +} + +void lso_info_get(mblk_t *mp, uint32_t *mss, uint32_t *flags) { ASSERT(DB_TYPE(mp) == M_DATA); if (flags != NULL) { - *flags = DB_CKSUMFLAGS(mp) & HW_LSO; + *flags = DB_CKSUMFLAGS(mp) & HW_LSO_FLAGS; if ((*flags != 0) && (mss != NULL)) *mss = (uint32_t)DB_LSOMSS(mp); } |