Skip to contentSkip to conversation

correct the sym2 period setting routines

PATCH New James Bottomley 1 participant 1 message May 6, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 correct the sym2 period setting routines

There's a slight bug in the routines in that if the period requires dt, then the routine will unconditionally set it. DT may only be set if Wide is also set, so this turns back on the wide bit.

For domain validation to work correctly, we need to observe the wide bit absolutely.

James

drivers/scsi/sym53c8xx_2/sym_glue.c +3 -2
@@ -2038,8 +2038,9 @@ static void sym2_set_period(struct scsi_
 	struct sym_hcb *np = sym_get_hcb(shost);
 	struct sym_tcb *tp = &np->target[starget->id];
 
-	/* have to have DT for these transfers */
-	if (period <= np->minsync)
+	/* have to have DT for these transfers, but DT will also
+	 * set width, so check that this is allowed */
+	if (period <= np->minsync && spi_width(starget))
 		tp->tgoal.dt = 1;
 
 	tp->tgoal.period = period;