Apply by doing:
       /usr/src
       patch -p0 < 006_cbc.patch

Then build and install a new kernel.

Index: sys/arch/amd64/amd64/aesni.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/aesni.c,v
retrieving revision 1.8
diff -p -u -r1.8 aesni.c
--- sys/arch/amd64/amd64/aesni.c        22 Jul 2010 12:47:40 -0000      1.8
+++ sys/arch/amd64/amd64/aesni.c        16 Dec 2010 23:57:00 -0000
@@ -46,7 +46,6 @@ struct aesni_sess {
       uint32_t                 ses_dkey[4 * (AES_MAXROUNDS + 1)];
       uint32_t                 ses_klen;
       uint8_t                  ses_nonce[AESCTR_NONCESIZE];
-       uint8_t                  ses_iv[EALG_MAX_BLOCK_LEN];
       int                      ses_sid;
       int                      ses_used;
       struct swcr_data        *ses_swd;
@@ -165,7 +164,6 @@ aesni_newsession(u_int32_t *sidp, struct
               switch (c->cri_alg) {
               case CRYPTO_AES_CBC:
                       ses->ses_klen = c->cri_klen / 8;
-                       arc4random_buf(ses->ses_iv, 16);
                       aesni_set_key(ses, c->cri_key, ses->ses_klen);
                       break;

@@ -173,7 +171,6 @@ aesni_newsession(u_int32_t *sidp, struct
                       ses->ses_klen = c->cri_klen / 8 - AESCTR_NONCESIZE;
                       bcopy(c->cri_key + ses->ses_klen, ses->ses_nonce,
                           AESCTR_NONCESIZE);
-                       arc4random_buf(ses->ses_iv, 8);
                       aesni_set_key(ses, c->cri_key, ses->ses_klen);
                       break;

@@ -343,7 +340,7 @@ aesni_encdec(struct cryptop *crp, struct
               if (crd->crd_flags & CRD_F_IV_EXPLICIT)
                       bcopy(crd->crd_iv, iv, ivlen);
               else
-                       bcopy(ses->ses_iv, iv, ivlen);
+                       arc4random_buf(iv, ivlen);

               /* Do we need to write the IV */
               if ((crd->crd_flags & CRD_F_IV_PRESENT) == 0) {
@@ -410,27 +407,6 @@ aesni_encdec(struct cryptop *crp, struct
                   crd->crd_len, buf);
       else
               bcopy(buf, crp->crp_buf + crd->crd_skip, crd->crd_len);
-
-       /*
-        * Copy out last block for use as next session IV for CBC,
-        * generate new IV for CTR.
-        */
-       if (crd->crd_flags & CRD_F_ENCRYPT) {
-               if (crd->crd_alg == CRYPTO_AES_CBC) {
-                       if (crp->crp_flags & CRYPTO_F_IMBUF)
-                               m_copydata((struct mbuf *)crp->crp_buf,
-                                   crd->crd_skip + crd->crd_len - ivlen, ivlen,
-                                   ses->ses_iv);
-                       else if (crp->crp_flags & CRYPTO_F_IOV)
-                               cuio_copydata((struct uio *)crp->crp_buf,
-                                   crd->crd_skip + crd->crd_len - ivlen, ivlen,
-                                   ses->ses_iv);
-                       else
-                               bcopy(crp->crp_buf + crd->crd_skip +
-                                   crd->crd_len - ivlen, ses->ses_iv, ivlen);
-               } else if (crd->crd_alg == CRYPTO_AES_CTR)
-                       arc4random_buf(ses->ses_iv, ivlen);
-       }

out:
       bzero(buf, crd->crd_len);
Index: sys/arch/amd64/amd64/via.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/via.c,v
retrieving revision 1.7
diff -p -u -r1.7 via.c
--- sys/arch/amd64/amd64/via.c  6 Jul 2010 09:49:47 -0000       1.7
+++ sys/arch/amd64/amd64/via.c  16 Dec 2010 23:57:01 -0000
@@ -64,7 +64,6 @@ void  viac3_rnd(void *);
struct viac3_session {
       u_int32_t       ses_ekey[4 * (AES_MAXROUNDS + 1) + 4];  /* 128 bit aligned */
       u_int32_t       ses_dkey[4 * (AES_MAXROUNDS + 1) + 4];  /* 128 bit aligned */
-       u_int8_t        ses_iv[16];                     /* 128 bit aligned */
       u_int32_t       ses_cw0;
       struct swcr_data *swd;
       int             ses_klen;
@@ -194,7 +193,6 @@ viac3_crypto_newsession(u_int32_t *sidp,
                       cw0 |= C3_CRYPT_CWLO_ALG_AES | C3_CRYPT_CWLO_KEYGEN_SW |
                           C3_CRYPT_CWLO_NORMAL;

-                       arc4random_buf(ses->ses_iv, sizeof(ses->ses_iv));
                       ses->ses_klen = c->cri_klen;
                       ses->ses_cw0 = cw0;

@@ -374,7 +372,7 @@ viac3_crypto_encdec(struct cryptop *crp,
               if (crd->crd_flags & CRD_F_IV_EXPLICIT)
                       bcopy(crd->crd_iv, sc->op_iv, 16);
               else
-                       bcopy(ses->ses_iv, sc->op_iv, 16);
+                       arc4random_buf(sc->op_iv, 16);

               if ((crd->crd_flags & CRD_F_IV_PRESENT) == 0) {
                       if (crp->crp_flags & CRYPTO_F_IMBUF)
@@ -427,21 +425,6 @@ viac3_crypto_encdec(struct cryptop *crp,
       else
               bcopy(sc->op_buf, crp->crp_buf + crd->crd_skip,
                   crd->crd_len);
-
-       /* copy out last block for use as next session IV */
-       if (crd->crd_flags & CRD_F_ENCRYPT) {
-               if (crp->crp_flags & CRYPTO_F_IMBUF)
-                       m_copydata((struct mbuf *)crp->crp_buf,
-                           crd->crd_skip + crd->crd_len - 16, 16,
-                           ses->ses_iv);
-               else if (crp->crp_flags & CRYPTO_F_IOV)
-                       cuio_copydata((struct uio *)crp->crp_buf,
-                           crd->crd_skip + crd->crd_len - 16, 16,
-                           ses->ses_iv);
-               else
-                       bcopy(crp->crp_buf + crd->crd_skip +
-                           crd->crd_len - 16, ses->ses_iv, 16);
-       }

       if (sc->op_buf != NULL) {
               bzero(sc->op_buf, crd->crd_len);
Index: sys/arch/i386/i386/via.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/via.c,v
retrieving revision 1.24
diff -p -u -r1.24 via.c
--- sys/arch/i386/i386/via.c    6 Jul 2010 09:49:47 -0000       1.24
+++ sys/arch/i386/i386/via.c    16 Dec 2010 23:57:02 -0000
@@ -64,7 +64,6 @@ void  viac3_rnd(void *);
struct viac3_session {
       u_int32_t       ses_ekey[4 * (AES_MAXROUNDS + 1) + 4];  /* 128 bit aligned */
       u_int32_t       ses_dkey[4 * (AES_MAXROUNDS + 1) + 4];  /* 128 bit aligned */
-       u_int8_t        ses_iv[16];                     /* 128 bit aligned */
       u_int32_t       ses_cw0;
       struct swcr_data *swd;
       int             ses_klen;
@@ -195,7 +194,6 @@ viac3_crypto_newsession(u_int32_t *sidp,
                       cw0 |= C3_CRYPT_CWLO_ALG_AES | C3_CRYPT_CWLO_KEYGEN_SW |
                           C3_CRYPT_CWLO_NORMAL;

-                       arc4random_buf(ses->ses_iv, sizeof(ses->ses_iv));
                       ses->ses_klen = c->cri_klen;
                       ses->ses_cw0 = cw0;

@@ -375,7 +373,7 @@ viac3_crypto_encdec(struct cryptop *crp,
               if (crd->crd_flags & CRD_F_IV_EXPLICIT)
                       bcopy(crd->crd_iv, sc->op_iv, 16);
               else
-                       bcopy(ses->ses_iv, sc->op_iv, 16);
+                       arc4random_buf(sc->op_iv, 16);

               if ((crd->crd_flags & CRD_F_IV_PRESENT) == 0) {
                       if (crp->crp_flags & CRYPTO_F_IMBUF)
@@ -428,21 +426,6 @@ viac3_crypto_encdec(struct cryptop *crp,
       else
               bcopy(sc->op_buf, crp->crp_buf + crd->crd_skip,
                   crd->crd_len);
-
-       /* copy out last block for use as next session IV */
-       if (crd->crd_flags & CRD_F_ENCRYPT) {
-               if (crp->crp_flags & CRYPTO_F_IMBUF)
-                       m_copydata((struct mbuf *)crp->crp_buf,
-                           crd->crd_skip + crd->crd_len - 16, 16,
-                           ses->ses_iv);
-               else if (crp->crp_flags & CRYPTO_F_IOV)
-                       cuio_copydata((struct uio *)crp->crp_buf,
-                           crd->crd_skip + crd->crd_len - 16, 16,
-                           ses->ses_iv);
-               else
-                       bcopy(crp->crp_buf + crd->crd_skip +
-                           crd->crd_len - 16, ses->ses_iv, 16);
-       }

       if (sc->op_buf != NULL) {
               bzero(sc->op_buf, crd->crd_len);
Index: sys/arch/i386/pci/glxsb.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/pci/glxsb.c,v
retrieving revision 1.19
diff -p -u -r1.19 glxsb.c
--- sys/arch/i386/pci/glxsb.c   2 Jul 2010 02:40:15 -0000       1.19
+++ sys/arch/i386/pci/glxsb.c   16 Dec 2010 23:57:02 -0000
@@ -150,7 +150,6 @@ struct glxsb_dma_map {
};
struct glxsb_session {
       uint32_t        ses_key[4];
-       uint8_t         ses_iv[SB_AES_BLOCK_SIZE];
       int             ses_klen;
       int             ses_used;
       struct swcr_data *ses_swd_auth;
@@ -394,7 +393,6 @@ glxsb_crypto_newsession(uint32_t *sidp,
                               break;
                       }

-                       arc4random_buf(ses->ses_iv, sizeof(ses->ses_iv));
                       ses->ses_klen = c->cri_klen;

                       /* Copy the key (Geode LX wants the primary key only) */
@@ -618,7 +616,7 @@ glxsb_crypto_encdec(struct cryptop *crp,
{
       char *op_src, *op_dst;
       uint32_t op_psrc, op_pdst;
-       uint8_t op_iv[SB_AES_BLOCK_SIZE], *piv;
+       uint8_t op_iv[SB_AES_BLOCK_SIZE];
       int err = 0;
       int len, tlen, xlen;
       int offset;
@@ -648,7 +646,7 @@ glxsb_crypto_encdec(struct cryptop *crp,
               if (crd->crd_flags & CRD_F_IV_EXPLICIT)
                       bcopy(crd->crd_iv, op_iv, sizeof(op_iv));
               else
-                       bcopy(ses->ses_iv, op_iv, sizeof(op_iv));
+                       arc4random_buf(op_iv, sizeof(op_iv));

               if ((crd->crd_flags & CRD_F_IV_PRESENT) == 0) {
                       if (crp->crp_flags & CRYPTO_F_IMBUF)
@@ -681,7 +679,6 @@ glxsb_crypto_encdec(struct cryptop *crp,

       offset = 0;
       tlen = crd->crd_len;
-       piv = op_iv;

       /* Process the data in GLXSB_MAX_AES_LEN chunks */
       while (tlen > 0) {
@@ -717,26 +714,14 @@ glxsb_crypto_encdec(struct cryptop *crp,
               offset += len;
               tlen -= len;

-               if (tlen <= 0) {        /* Ideally, just == 0 */
-                       /* Finished - put the IV in session IV */
-                       piv = ses->ses_iv;
-               }
-
-               /*
-                * Copy out last block for use as next iteration/session IV.
-                *
-                * piv is set to op_iv[] before the loop starts, but is
-                * set to ses->ses_iv if we're going to exit the loop this
-                * time.
-                */
-               if (crd->crd_flags & CRD_F_ENCRYPT) {
-                       bcopy(op_dst + len - sizeof(op_iv), piv, sizeof(op_iv));
-               } else {
-                       /* Decryption, only need this if another iteration */
-                       if (tlen > 0) {
-                               bcopy(op_src + len - sizeof(op_iv), piv,
+               if (tlen > 0) {
+                       /* Copy out last block for use as next iteration */
+                       if (crd->crd_flags & CRD_F_ENCRYPT)
+                               bcopy(op_dst + len - sizeof(op_iv), op_iv,
+                                   sizeof(op_iv));
+                       else
+                               bcopy(op_src + len - sizeof(op_iv), op_iv,
                                   sizeof(op_iv));
-                       }
               }
       }

Index: sys/dev/pci/hifn7751.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/hifn7751.c,v
retrieving revision 1.162
diff -p -u -r1.162 hifn7751.c
--- sys/dev/pci/hifn7751.c      5 Jul 2010 11:07:56 -0000       1.162
+++ sys/dev/pci/hifn7751.c      16 Dec 2010 23:57:05 -0000
@@ -1873,10 +1873,6 @@ hifn_newsession(u_int32_t *sidp, struct
               case CRYPTO_DES_CBC:
               case CRYPTO_3DES_CBC:
               case CRYPTO_AES_CBC:
-                       arc4random_buf(ses->hs_iv,
-                           (c->cri_alg == CRYPTO_AES_CBC ?
-                           HIFN_AES_IV_LENGTH : HIFN_IV_LENGTH));
-                       /*FALLTHROUGH*/
               case CRYPTO_ARC4:
                       if (cry)
                               return (EINVAL);
@@ -2074,8 +2070,7 @@ hifn_process(struct cryptop *crp)
                               if (enccrd->crd_flags & CRD_F_IV_EXPLICIT)
                                       bcopy(enccrd->crd_iv, cmd->iv, ivlen);
                               else
-                                       bcopy(sc->sc_sessions[session].hs_iv,
-                                           cmd->iv, ivlen);
+                                       arc4random_buf(cmd->iv, ivlen);

                               if ((enccrd->crd_flags & CRD_F_IV_PRESENT)
                                   == 0) {
@@ -2259,7 +2254,7 @@ hifn_callback(struct hifn_softc *sc, str
       struct cryptop *crp = cmd->crp;
       struct cryptodesc *crd;
       struct mbuf *m;
-       int totlen, i, u, ivlen;
+       int totlen, i, u;

       if (cmd->src_map == cmd->dst_map)
               bus_dmamap_sync(sc->sc_dmat, cmd->src_map,
@@ -2321,28 +2316,6 @@ hifn_callback(struct hifn_softc *sc, str
       dma->dstk = i; dma->dstu = u;

       hifnstats.hst_obytes += cmd->dst_map->dm_mapsize;
-
-       if ((cmd->base_masks & (HIFN_BASE_CMD_CRYPT | HIFN_BASE_CMD_DECODE)) ==
-           HIFN_BASE_CMD_CRYPT) {
-               for (crd = crp->crp_desc; crd; crd = crd->crd_next) {
-                       if (crd->crd_alg != CRYPTO_DES_CBC &&
-                           crd->crd_alg != CRYPTO_3DES_CBC &&
-                           crd->crd_alg != CRYPTO_AES_CBC)
-                               continue;
-                       ivlen = ((crd->crd_alg == CRYPTO_AES_CBC) ?
-                           HIFN_AES_IV_LENGTH : HIFN_IV_LENGTH);
-                       if (crp->crp_flags & CRYPTO_F_IMBUF)
-                               m_copydata((struct mbuf *)crp->crp_buf,
-                                   crd->crd_skip + crd->crd_len - ivlen, ivlen,
-                                   cmd->softc->sc_sessions[cmd->session_num].hs_iv);
-                       else if (crp->crp_flags & CRYPTO_F_IOV) {
-                               cuio_copydata((struct uio *)crp->crp_buf,
-                                   crd->crd_skip + crd->crd_len - ivlen, ivlen,
-                                   cmd->softc->sc_sessions[cmd->session_num].hs_iv);
-                       }
-                       break;
-               }
-       }

       if (cmd->base_masks & HIFN_BASE_CMD_MAC) {
               u_int8_t *macbuf;
Index: sys/dev/pci/hifn7751var.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/hifn7751var.h,v
retrieving revision 1.52
diff -p -u -r1.52 hifn7751var.h
--- sys/dev/pci/hifn7751var.h   20 Jan 2004 21:01:55 -0000      1.52
+++ sys/dev/pci/hifn7751var.h   16 Dec 2010 23:57:05 -0000
@@ -104,7 +104,6 @@ struct hifn_dma {

struct hifn_session {
       int hs_used;
-       u_int8_t hs_iv[HIFN_MAX_IV_LENGTH];
};

#define        HIFN_RING_SYNC(sc, r, i, f)                                     \
Index: sys/dev/pci/safe.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/safe.c,v
retrieving revision 1.29
diff -p -u -r1.29 safe.c
--- sys/dev/pci/safe.c  2 Jul 2010 02:40:16 -0000       1.29
+++ sys/dev/pci/safe.c  16 Dec 2010 23:57:06 -0000
@@ -472,7 +472,8 @@ safe_process(struct cryptop *crp)
                       if (enccrd->crd_flags & CRD_F_IV_EXPLICIT)
                               bcopy(enccrd->crd_iv, iv, ivsize);
                       else
-                               bcopy(ses->ses_iv, iv, ivsize);
+                               arc4random_buf(iv, ivsize);
+
                       if ((enccrd->crd_flags & CRD_F_IV_PRESENT) == 0) {
                               if (crp->crp_flags & CRYPTO_F_IMBUF)
                                       m_copyback(re->re_src_m,
@@ -485,7 +486,6 @@ safe_process(struct cryptop *crp)
                       for (i = 0; i < ivsize / sizeof(iv[0]); i++)
                               re->re_sastate.sa_saved_iv[i] = htole32(iv[i]);
                       cmd0 |= SAFE_SA_CMD0_IVLD_STATE | SAFE_SA_CMD0_SAVEIV;
-                       re->re_flags |= SAFE_QFLAGS_COPYOUTIV;
               } else {
                       cmd0 |= SAFE_SA_CMD0_INBOUND;

@@ -1362,9 +1362,6 @@ safe_newsession(u_int32_t *sidp, struct
       ses->ses_used = 1;

       if (encini) {
-               /* get an IV */
-               arc4random_buf(ses->ses_iv, sizeof(ses->ses_iv));
-
               ses->ses_klen = encini->cri_klen;
               bcopy(encini->cri_key, ses->ses_key, ses->ses_klen / 8);

@@ -1673,33 +1670,6 @@ safe_callback(struct safe_softc *sc, str
       if ((crp->crp_flags & CRYPTO_F_IMBUF) && re->re_src_m != re->re_dst_m) {
               m_freem(re->re_src_m);
               crp->crp_buf = (caddr_t)re->re_dst_m;
-       }
-
-       if (re->re_flags & SAFE_QFLAGS_COPYOUTIV) {
-               /* copy out IV for future use */
-               for (crd = crp->crp_desc; crd; crd = crd->crd_next) {
-                       int ivsize;
-
-                       if (crd->crd_alg == CRYPTO_DES_CBC ||
-                           crd->crd_alg == CRYPTO_3DES_CBC) {
-                               ivsize = 2*sizeof(u_int32_t);
-                       } else if (crd->crd_alg == CRYPTO_AES_CBC) {
-                               ivsize = 4*sizeof(u_int32_t);
-                       } else
-                               continue;
-                       if (crp->crp_flags & CRYPTO_F_IMBUF) {
-                               m_copydata((struct mbuf *)crp->crp_buf,
-                                       crd->crd_skip + crd->crd_len - ivsize,
-                                       ivsize,
-                                       (caddr_t) sc->sc_sessions[re->re_sesn].ses_iv);
-                       } else if (crp->crp_flags & CRYPTO_F_IOV) {
-                               cuio_copydata((struct uio *)crp->crp_buf,
-                                       crd->crd_skip + crd->crd_len - ivsize,
-                                       ivsize,
-                                       (caddr_t)sc->sc_sessions[re->re_sesn].ses_iv);
-                       }
-                       break;
-               }
       }

       if (re->re_flags & SAFE_QFLAGS_COPYOUTICV) {
Index: sys/dev/pci/safevar.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/safevar.h,v
retrieving revision 1.6
diff -p -u -r1.6 safevar.h
--- sys/dev/pci/safevar.h       21 Jul 2008 04:12:21 -0000      1.6
+++ sys/dev/pci/safevar.h       16 Dec 2010 23:57:06 -0000
@@ -113,8 +113,7 @@ struct safe_ringentry {

       int                     re_sesn;        /* crypto session ID */
       int                     re_flags;
-#define        SAFE_QFLAGS_COPYOUTIV   0x1             /* copy back on completion */
-#define        SAFE_QFLAGS_COPYOUTICV  0x2             /* copy back on completion */
+#define        SAFE_QFLAGS_COPYOUTICV  0x1             /* copy back on completion */
};

#define        re_src_m        re_src.u.m
@@ -139,7 +138,6 @@ struct safe_session {
       u_int32_t       ses_key[8];             /* DES/3DES/AES key */
       u_int32_t       ses_hminner[5];         /* hmac inner state */
       u_int32_t       ses_hmouter[5];         /* hmac outer state */
-       u_int32_t       ses_iv[4];              /* DES/3DES/AES iv */
};

struct safe_pkq {
Index: sys/dev/pci/ubsec.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/ubsec.c,v
retrieving revision 1.147
diff -p -u -r1.147 ubsec.c
--- sys/dev/pci/ubsec.c 2 Jul 2010 02:40:16 -0000       1.147
+++ sys/dev/pci/ubsec.c 16 Dec 2010 23:57:07 -0000
@@ -711,9 +711,6 @@ ubsec_newsession(u_int32_t *sidp, struct
       bzero(ses, sizeof(struct ubsec_session));
       ses->ses_used = 1;
       if (encini) {
-               /* get an IV, network byte order */
-               arc4random_buf(ses->ses_iv, sizeof(ses->ses_iv));
-
               /* Go ahead and compute key in ubsec's byte order */
               if (encini->cri_alg == CRYPTO_AES_CBC) {
                       bcopy(encini->cri_key, ses->ses_key,
@@ -944,14 +941,10 @@ ubsec_process(struct cryptop *crp)
               encoffset = enccrd->crd_skip;

               if (enccrd->crd_flags & CRD_F_ENCRYPT) {
-                       q->q_flags |= UBSEC_QFLAGS_COPYOUTIV;
-
                       if (enccrd->crd_flags & CRD_F_IV_EXPLICIT)
                               bcopy(enccrd->crd_iv, key.ses_iv, ivlen);
-                       else {
-                               for (i = 0; i < (ivlen / 4); i++)
-                                       key.ses_iv[i] = ses->ses_iv[i];
-                       }
+                       else
+                               arc4random_buf(key.ses_iv, ivlen);

                       if ((enccrd->crd_flags & CRD_F_IV_PRESENT) == 0) {
                               if (crp->crp_flags & CRYPTO_F_IMBUF)
@@ -1434,26 +1427,6 @@ ubsec_callback(struct ubsec_softc *sc, s
       if ((crp->crp_flags & CRYPTO_F_IMBUF) && (q->q_src_m != q->q_dst_m)) {
               m_freem(q->q_src_m);
               crp->crp_buf = (caddr_t)q->q_dst_m;
-       }
-
-       /* copy out IV for future use */
-       if (q->q_flags & UBSEC_QFLAGS_COPYOUTIV) {
-               for (crd = crp->crp_desc; crd; crd = crd->crd_next) {
-                       if (crd->crd_alg != CRYPTO_DES_CBC &&
-                           crd->crd_alg != CRYPTO_3DES_CBC &&
-                           crd->crd_alg != CRYPTO_AES_CBC)
-                               continue;
-                       if (crp->crp_flags & CRYPTO_F_IMBUF)
-                               m_copydata((struct mbuf *)crp->crp_buf,
-                                   crd->crd_skip + crd->crd_len - 8, 8,
-                                   (caddr_t)sc->sc_sessions[q->q_sesn].ses_iv);
-                       else if (crp->crp_flags & CRYPTO_F_IOV) {
-                               cuio_copydata((struct uio *)crp->crp_buf,
-                                   crd->crd_skip + crd->crd_len - 8, 8,
-                                   (caddr_t)sc->sc_sessions[q->q_sesn].ses_iv);
-                       }
-                       break;
-               }
       }

       for (crd = crp->crp_desc; crd; crd = crd->crd_next) {
Index: sys/dev/pci/ubsecvar.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/ubsecvar.h,v
retrieving revision 1.38
diff -p -u -r1.38 ubsecvar.h
--- sys/dev/pci/ubsecvar.h      27 Mar 2009 13:31:30 -0000      1.38
+++ sys/dev/pci/ubsecvar.h      16 Dec 2010 23:57:07 -0000
@@ -152,7 +152,6 @@ struct ubsec_q {
       bus_dmamap_t                    q_dst_map;

       int                             q_sesn;
-       int                             q_flags;
};

struct ubsec_softc {
@@ -184,8 +183,6 @@ struct ubsec_softc {
       struct ubsec_q          *sc_queuea[UBS_MAX_NQUEUE];
       SIMPLEQ_HEAD(,ubsec_q2) sc_q2free;      /* free list */
};
-
-#define        UBSEC_QFLAGS_COPYOUTIV          0x1

struct ubsec_session {
       u_int32_t       ses_used;