summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorkxie@chelsio.com <kxie@chelsio.com>2011-01-07 23:45:39 +0100
committerJames Bottomley <James.Bottomley@suse.de>2011-01-24 18:36:00 +0100
commitc343a01cca2a4182b89d976e203a54ec0ea5446b (patch)
tree7e9929f17d8a5e5e010fb4eec5813c4fdf4f02f5 /drivers
parent[SCSI] hpsa: avoid leaking stack contents to userland (diff)
downloadlinux-c343a01cca2a4182b89d976e203a54ec0ea5446b.tar.xz
linux-c343a01cca2a4182b89d976e203a54ec0ea5446b.zip
[SCSI] cxgbi: set ulpmode only if digest is on
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/cxgbi/libcxgbi.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/scsi/cxgbi/libcxgbi.c b/drivers/scsi/cxgbi/libcxgbi.c
index d2ad3d676724..6de6a6f3f1e8 100644
--- a/drivers/scsi/cxgbi/libcxgbi.c
+++ b/drivers/scsi/cxgbi/libcxgbi.c
@@ -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,