[SCSI] libiscsi: only check burst lengths when sending unsol data
authorMike Christie <michaelc@cs.wisc.edu>
Thu, 31 Aug 2006 22:09:31 +0000 (18:09 -0400)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Sat, 2 Sep 2006 18:37:28 +0000 (13:37 -0500)
The first burst length is only relevant if immedate data = Yes
or if Initial R2T is No

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/libiscsi.c

index fb65311..864c628 100644 (file)
@@ -1593,7 +1593,8 @@ int iscsi_conn_start(struct iscsi_cls_conn *cls_conn)
                return -EPERM;
        }
 
-       if (session->first_burst > session->max_burst) {
+       if ((session->imm_data_en || !session->initial_r2t_en) &&
+            session->first_burst > session->max_burst) {
                printk("iscsi: invalid burst lengths: "
                       "first_burst %d max_burst %d\n",
                       session->first_burst, session->max_burst);