[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 2.6.8 release



On Sat, Aug 14, 2004 at 07:37:27PM -0600, dann frazier wrote:
> On Sat, Aug 14, 2004 at 12:28:59PM -0600, dann frazier wrote:
> > On Fri, Aug 13, 2004 at 03:08:45PM +0100, Matthew Wilcox wrote:
> > > I think you're mistaken.  The known bug in the DV scsi core was fixed
> > > 9 weeks ago (according to Linus' bkweb).  There's still at least one
> > > other bug which Dann can replicate at will on one of his machines.
> > > Last I heard, he was working on putting it outside the firewall for
> > > James to look at.
> > 
> > I'll test an ia64 build on that box and see if I still see the problem -
> 
> I do - the revert patch was included in the kernel-source-2.6.8 upload.

James took a look at my test box, and has submitted[1] a fix upstream.
So, this means we no longer need drivers-scsi-sym53c8xx_revert.dpatch.

I know that the proper way to update a patch in kernel-source is to add
another patch - so do I need to commit a reversed _revert patch, followed
by the proper fix?

[1] http://marc.theaimsgroup.com/?l=linux-scsi&m=109297058118127&w=2

There's a bad hang where the driver locks the system solid trying to do
domain validation with certain devices.  The one I've managed to
reproduce it with is a Quantum Atlas.

What happens is that setting the offset to zero is an async negotiation
message.  However, the driver still seems to have DT set (which is
illegal).  Most devices just reject this as stupid, but the Quantum
seems to try to obey it and hangs the bus.

The simple fix is to reset all PPR options when the offset is set to
zero.

James

===== drivers/scsi/sym53c8xx_2/sym_glue.c 1.44 vs edited =====
--- 1.44/drivers/scsi/sym53c8xx_2/sym_glue.c	2004-07-26 17:24:36 -04:00
+++ edited/drivers/scsi/sym53c8xx_2/sym_glue.c	2004-08-19 22:30:35 -04:00
@@ -2383,6 +2383,9 @@
 	struct sym_hcb *np = ((struct host_data *)sdev->host->hostdata)->ncb;
 	struct sym_tcb *tp = &np->target[sdev->id];
 
+	if (offset == 0)
+		tp->tinfo.goal.options = 0;
+
 	if (tp->tinfo.curr.options & PPR_OPT_DT) {
 		if (offset > np->maxoffs_dt)
 			offset = np->maxoffs_dt;

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply to: