patch-2.4.26 linux-2.4.26/drivers/scsi/sym53c8xx.c

Next file: linux-2.4.26/drivers/scsi/sym53c8xx_2/sym_hipd.c
Previous file: linux-2.4.26/drivers/scsi/scsi_syms.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.25/drivers/scsi/sym53c8xx.c linux-2.4.26/drivers/scsi/sym53c8xx.c
@@ -6992,7 +6992,7 @@
 
 static void ncr_soft_reset(ncb_p np)
 {
-	u_char istat;
+	u_char istat = 0;
 	int i;
 
 	if (!(np->features & FE_ISTAT1) || !(INB (nc_istat1) & SRUN))
@@ -11981,6 +11981,19 @@
 		inq_byte7 |= INQ7_SYNC;
 
 	/*
+	**	Don't do PPR negotiations on SCSI-2 devices unless
+	**	they set the DT bit (0x04) in byte 57 of the INQUIRY
+	**	return data.
+	*/
+	if (((inq_data[2] & 0x07) < 3) && (inq_data[4] < 53 ||
+					   !(inq_data[56] & 0x04))) {
+		if (tp->minsync < 10)
+			tp->minsync = 10;
+		if (tp->usrsync < 10)
+			tp->usrsync = 10;
+	}
+
+	/*
 	**	Prepare negotiation if SIP capabilities have changed.
 	*/
 	tp->inq_done = 1;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)