diff options
author | Karen Xie <kxie@chelsio.com> | 2014-12-11 22:13:32 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-12-12 11:22:29 -0500 |
commit | 7857c62a35041a21a66ccab551601c942b748330 (patch) | |
tree | 4adda8cfcdc8fd61f1577f0993fbd552fc22c5b4 | |
parent | 84944d8cf5d16c281e9389d90de20b9ceb96765e (diff) |
cxgb4i: fix credit check for tx_data_wr
make sure any tx credit related checking is done before adding the wr header.
Signed-off-by: Karen Xie <kxie@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c index 8abe8a303386..197d7de189fb 100644 --- a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c +++ b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | |||
@@ -549,10 +549,11 @@ static inline void make_tx_data_wr(struct cxgbi_sock *csk, struct sk_buff *skb, | |||
549 | struct fw_ofld_tx_data_wr *req; | 549 | struct fw_ofld_tx_data_wr *req; |
550 | unsigned int submode = cxgbi_skcb_ulp_mode(skb) & 3; | 550 | unsigned int submode = cxgbi_skcb_ulp_mode(skb) & 3; |
551 | unsigned int wr_ulp_mode = 0, val; | 551 | unsigned int wr_ulp_mode = 0, val; |
552 | bool imm = is_ofld_imm(skb); | ||
552 | 553 | ||
553 | req = (struct fw_ofld_tx_data_wr *)__skb_push(skb, sizeof(*req)); | 554 | req = (struct fw_ofld_tx_data_wr *)__skb_push(skb, sizeof(*req)); |
554 | 555 | ||
555 | if (is_ofld_imm(skb)) { | 556 | if (imm) { |
556 | req->op_to_immdlen = htonl(FW_WR_OP_V(FW_OFLD_TX_DATA_WR) | | 557 | req->op_to_immdlen = htonl(FW_WR_OP_V(FW_OFLD_TX_DATA_WR) | |
557 | FW_WR_COMPL_F | | 558 | FW_WR_COMPL_F | |
558 | FW_WR_IMMDLEN_V(dlen)); | 559 | FW_WR_IMMDLEN_V(dlen)); |