[SCSI] cxgbi: set ulpmode only if digest is on
authorkxie@chelsio.com <kxie@chelsio.com>
Fri, 7 Jan 2011 22:45:39 +0000 (14:45 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Mon, 24 Jan 2011 17:36:00 +0000 (11:36 -0600)
There is no need to set ulpmode on the tx skbs if no digest is enabled.

Signed-off-by: Karen Xie <kxie@chelsio.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/cxgbi/libcxgbi.c

index d2ad3d6..6de6a6f 100644 (file)
@@ -1908,13 +1908,16 @@ EXPORT_SYMBOL_GPL(cxgbi_conn_alloc_pdu);
 
 static inline void tx_skb_setmode(struct sk_buff *skb, int hcrc, int dcrc)
 {
-       u8 submode = 0;
-
-       if (hcrc)
-               submode |= 1;
-       if (dcrc)
-               submode |= 2;
-       cxgbi_skcb_ulp_mode(skb) = (ULP2_MODE_ISCSI << 4) | submode;
+       if (hcrc || dcrc) {
+               u8 submode = 0;
+
+               if (hcrc)
+                       submode |= 1;
+               if (dcrc)
+                       submode |= 2;
+               cxgbi_skcb_ulp_mode(skb) = (ULP2_MODE_ISCSI << 4) | submode;
+       } else
+               cxgbi_skcb_ulp_mode(skb) = 0;
 }
 
 int cxgbi_conn_init_pdu(struct iscsi_task *task, unsigned int offset,