diff options
author | Karen Xie <kxie@chelsio.com> | 2015-04-10 13:57:21 -0700 |
---|---|---|
committer | James Bottomley <JBottomley@Odin.com> | 2015-05-25 08:46:25 -0700 |
commit | 1eb88a5d4af49bf5851b110d493b9007076fe24e (patch) | |
tree | 610876338952b3fbe2f56908719343f7f03de4f6 /drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | |
parent | 0ea5bf3dc16c868e302e85d627f885fcf1aa6e81 (diff) | |
download | linux-stable-1eb88a5d4af49bf5851b110d493b9007076fe24e.tar.gz linux-stable-1eb88a5d4af49bf5851b110d493b9007076fe24e.tar.bz2 linux-stable-1eb88a5d4af49bf5851b110d493b9007076fe24e.zip |
cxgb4i: set the initial sequence number
set the initial sequence number so the 1st byte of payload is aligned on
the 8-byte boundary.
Signed-off-by: Karen Xie <kxie@chelsio.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
Diffstat (limited to 'drivers/scsi/cxgbi/cxgb4i/cxgb4i.c')
-rw-r--r-- | drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c index 088aba1d2307..de6feb8964c9 100644 --- a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c +++ b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c @@ -200,9 +200,9 @@ static void send_act_open_req(struct cxgbi_sock *csk, struct sk_buff *skb, SMAC_SEL_V(csk->smac_idx) | ULP_MODE_V(ULP_MODE_ISCSI) | RCV_BUFSIZ_V(csk->rcv_win >> 10); + opt2 = RX_CHANNEL_V(0) | RSS_QUEUE_VALID_F | - (RX_FC_DISABLE_F) | RSS_QUEUE_V(csk->rss_qid); if (is_t4(lldi->adapter_type)) { @@ -231,6 +231,7 @@ static void send_act_open_req(struct cxgbi_sock *csk, struct sk_buff *skb, } else { struct cpl_t5_act_open_req *req = (struct cpl_t5_act_open_req *)skb->head; + u32 isn = (prandom_u32() & ~7UL) - 1; INIT_TP_WR(req, 0); OPCODE_TID(req) = cpu_to_be32(MK_OPCODE_TID(CPL_ACT_OPEN_REQ, @@ -244,7 +245,10 @@ static void send_act_open_req(struct cxgbi_sock *csk, struct sk_buff *skb, cxgb4_select_ntuple( csk->cdev->ports[csk->port_id], csk->l2t))); - opt2 |= 1 << 31; + req->rsvd = cpu_to_be32(isn); + opt2 |= T5_ISS_VALID; + opt2 |= T5_OPT_2_VALID_F; + req->opt2 = cpu_to_be32(opt2); log_debug(1 << CXGBI_DBG_TOE | 1 << CXGBI_DBG_SOCK, |