crypto: chelsio - no csum offload for ipsec path
authorAtul Gupta <atul.gupta@chelsio.com>
Wed, 28 Feb 2018 17:48:08 +0000 (23:18 +0530)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 9 Mar 2018 14:45:45 +0000 (22:45 +0800)
The Inline IPSec driver does not offload csum.

Signed-off-by: Atul Gupta <atul.gupta@chelsio.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/chelsio/chcr_ipsec.c

index db1e241..8e0aa3f 100644 (file)
@@ -360,8 +360,7 @@ inline void *copy_cpltx_pktxt(struct sk_buff *skb,
 
        cpl = (struct cpl_tx_pkt_core *)pos;
 
-       if (skb->ip_summed == CHECKSUM_PARTIAL)
-               cntrl = TXPKT_L4CSUM_DIS_F | TXPKT_IPCSUM_DIS_F;
+       cntrl = TXPKT_L4CSUM_DIS_F | TXPKT_IPCSUM_DIS_F;
        ctrl0 = TXPKT_OPCODE_V(CPL_TX_PKT_XT) | TXPKT_INTF_V(pi->tx_chan) |
                               TXPKT_PF_V(adap->pf);
        if (skb_vlan_tag_present(skb)) {
@@ -475,7 +474,7 @@ inline void *chcr_crypto_wreq(struct sk_buff *skb,
        wr->req.ulptx.len = htonl(DIV_ROUND_UP(flits, 2)  - 1);
 
        /* Sub-command */
-       wr->req.sc_imm.cmd_more = FILL_CMD_MORE(immdatalen);
+       wr->req.sc_imm.cmd_more = FILL_CMD_MORE(!immdatalen);
        wr->req.sc_imm.len = cpu_to_be32(sizeof(struct cpl_tx_sec_pdu) +
                                         sizeof(wr->req.key_ctx) +
                                         kctx_len +