drbd_free_socket(&tconn->meta);
        drbd_free_socket(&tconn->data);
        kfree(tconn->name);
-       kfree(tconn->int_dig_out);
        kfree(tconn->int_dig_in);
        kfree(tconn->int_dig_vv);
        kfree(tconn);
 
        struct crypto_hash *tfm = NULL;
        struct crypto_hash *integrity_w_tfm = NULL;
        struct crypto_hash *integrity_r_tfm = NULL;
-       void *int_dig_out = NULL;
        void *int_dig_in = NULL;
        void *int_dig_vv = NULL;
        struct drbd_tconn *oconn;
        /* allocation not in the IO path, cqueue thread context */
        if (integrity_w_tfm) {
                i = crypto_hash_digestsize(integrity_w_tfm);
-               int_dig_out = kmalloc(i, GFP_KERNEL);
-               if (!int_dig_out) {
-                       retcode = ERR_NOMEM;
-                       goto fail;
-               }
                int_dig_in = kmalloc(i, GFP_KERNEL);
                if (!int_dig_in) {
                        retcode = ERR_NOMEM;
        crypto_free_hash(tconn->integrity_r_tfm);
        tconn->integrity_r_tfm = integrity_r_tfm;
 
-       kfree(tconn->int_dig_out);
        kfree(tconn->int_dig_in);
        kfree(tconn->int_dig_vv);
-       tconn->int_dig_out=int_dig_out;
        tconn->int_dig_in=int_dig_in;
        tconn->int_dig_vv=int_dig_vv;
        retcode = _conn_request_state(tconn, NS(conn, C_UNCONNECTED), CS_VERBOSE);
        return 0;
 
 fail:
-       kfree(int_dig_out);
        kfree(int_dig_in);
        kfree(int_dig_vv);
        crypto_free_hash(tfm);