There are two things about the bug - it may actually hit (some got it
while running cdparanoia) and if you look closer at the original code
you will see that it is quite suspicious. :-)
Here it is again the fix as posted by Gerard re-diffed against
2.2.19something sources. It still applies cleanly to 2.2.20pre11.
--- linux-2.2.19aa2/drivers/scsi/sym53c8xx.c.symx Sun Mar 25 09:31:33 2001
+++ linux-2.2.19aa2/drivers/scsi/sym53c8xx.c Fri Apr 27 10:39:16 2001
@@ -10125,14 +10125,13 @@
if (i >= MAX_START*2)
i = 0;
}
- assert(k != -1);
- if (k != 1) {
+ if (k != -1) {
np->squeue[k] = np->squeue[i]; /* Idle task */
np->squeueput = k; /* Start queue pointer */
- cp->host_status = HS_ABORTED;
- cp->scsi_status = S_ILLEGAL;
- ncr_complete(np, cp);
}
+ cp->host_status = HS_ABORTED;
+ cp->scsi_status = S_ILLEGAL;
+ ncr_complete(np, cp);
}
break;
/*
Hm, I should possibly check the latest 2.4s as well.
Michal
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/