old bug in sym53c8xx still lurks in 2.2.20pre

From: Michal Jaegermann (michal@harddata.com)
Date: Thu Oct 25 2001 - 00:59:50 EST


Gerard Roudier posted at the beginning of an April a fix to a queue
handling in that driver which seems to be forgotten. I was looking
through 2.2.20pre and found that the bug is still there.

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/



This archive was generated by hypermail 2b29 : Wed Oct 31 2001 - 21:00:25 EST