if (unlikely(start < skb_linear_data_len)) {
                frag_size = min(len, skb_linear_data_len - start);
-               start = 0;
        } else {
                start -= skb_linear_data_len;
 
        }
        /* update receive window */
        if (first_wr || tx_info->prev_win != tcp_win) {
-               pos = chcr_write_cpl_set_tcb_ulp(tx_info, q, tx_info->tid, pos,
-                                                TCB_RCV_WND_W,
-                                                TCB_RCV_WND_V(TCB_RCV_WND_M),
-                                                TCB_RCV_WND_V(tcp_win), 0);
+               chcr_write_cpl_set_tcb_ulp(tx_info, q, tx_info->tid, pos,
+                                          TCB_RCV_WND_W,
+                                          TCB_RCV_WND_V(TCB_RCV_WND_M),
+                                          TCB_RCV_WND_V(tcp_win), 0);
                tx_info->prev_win = tcp_win;
                cpl++;
        }
        wr->op_to_compl = htonl(FW_WR_OP_V(FW_ULPTX_WR));
        wr->flowid_len16 = htonl(wr_mid | FW_WR_LEN16_V(len16));
        wr->cookie = 0;
-       pos += sizeof(*wr);
        /* ULP_TXPKT */
        ulptx = (struct ulp_txpkt *)(wr + 1);
        ulptx->cmd_dest = htonl(ULPTX_CMD_V(ULP_TX_PKT) |