my mistake in aic7xxx in 2.1.127

Andrea Arcangeli (andrea@e-mind.com)
Tue, 10 Nov 1998 18:49:22 +0100 (CET)


Excuse me Linus, as Doug Ledford pointed out, I' ve done a very stupid
mistake in a patch that I sent you that got in 2.1.127, I basically
exchanged a && with a || :-(

This patch reverse the buggy part of my patch.

Index: linux/drivers/scsi/aic7xxx.c
diff -u linux/drivers/scsi/aic7xxx.c:1.1.1.5 linux/drivers/scsi/aic7xxx.c:1.1.1.2.4.7
--- linux/drivers/scsi/aic7xxx.c:1.1.1.5 Sun Nov 8 02:36:35 1998
+++ linux/drivers/scsi/aic7xxx.c Tue Nov 10 18:40:17 1998
@@ -4147,8 +4147,10 @@
#endif
for(i=0; i<MAX_TARGETS; i++)
{
- if ( del_timer(&p->dev_timer[i]) )
+ if ( timer_pending(&p->dev_timer[i]) &&
+ time_before_eq(p->dev_timer[i].expires, jiffies) )
{
+ del_timer(&p->dev_timer[i]);
p->dev_temp_queue_depth[i] = p->dev_max_queue_depth[i];
j = 0;
while ( ((scb = scbq_remove_head(&p->delayed_scbs[i])) != NULL) &&

This code seems to use a nasty trick to get the `i' index that got not
passed as parameter to the aic7xxx_timer function. I' ll do a cleanup of
the driver soon.

Thanks to Doug Ledford to have pointed this out.

Andrea Arcangeli

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/