Messages in this thread Patch in this message | | | Date | Sun, 1 Nov 1998 14:36:32 +0100 (CET) | From | Andrea Arcangeli <> | Subject | Re: arca-1-against-pre-2.1.127-3 |
| |
On Sun, 1 Nov 1998, Mike Galbraith wrote:
>I did set JIFFIES_OFFSET to 0 to get past the boot hang. During a quick
Good.
Could you try this patch and see if it will fixes the JIFFIES_OFFSET-in-the-past case?
Thanks.
Index: aic7xxx.c =================================================================== RCS file: /var/cvs/linux/drivers/scsi/aic7xxx.c,v retrieving revision 1.1.1.2.4.2 diff -u -r1.1.1.2.4.2 aic7xxx.c --- aic7xxx.c 1998/10/24 14:49:20 1.1.1.2.4.2 +++ linux/drivers/scsi/aic7xxx.c 1998/11/01 13:32:34 @@ -3429,7 +3429,7 @@ * here so that we can delay all re-sent commands for this device for the * 4 seconds and then have our timer routine pick them back up. */ - if(p->dev_timer[i].expires) + if(p->dev_timer[i].next) { del_timer(&p->dev_timer[i]); } @@ -3482,11 +3482,8 @@ scbq_init(&p->delayed_scbs[i]); } if ( (p->delayed_scbs[i].head == NULL) && - (p->dev_timer[i].expires) ) - { + (p->dev_timer[i].next) ) del_timer(&p->dev_timer[i]); - p->dev_timer[i].expires = 0; - } } } @@ -4015,7 +4012,7 @@ p->host_no, CTL_OF_SCB(scb)); #endif scbq_insert_tail(&p->delayed_scbs[tindex], scb); - if ( !(p->dev_timer[tindex].expires) && + if ( !(p->dev_timer[tindex].next) && !(p->dev_active_cmds[tindex]) ) { p->dev_timer[tindex].expires = p->dev_last_reset[tindex] + (4 * HZ); @@ -4154,10 +4151,9 @@ #endif for(i=0; i<MAX_TARGETS; i++) { - if ( (p->dev_timer[i].expires) && + if ( (p->dev_timer[i].next) && time_before_eq(p->dev_timer[i].expires, jiffies) ) { - p->dev_timer[i].expires = 0; if ( (p->dev_timer[i].prev != NULL) || (p->dev_timer[i].next != NULL) ) { @@ -4895,7 +4891,7 @@ p->activescbs--; scb->flags |= SCB_WAITINGQ | SCB_WAS_BUSY; - if (p->dev_timer[tindex].expires == 0) + if (p->dev_timer[tindex].next == 0) { if ( p->dev_active_cmds[tindex] ) { @@ -7462,7 +7458,7 @@ } p->host = host; - p->last_reset = 0; + p->last_reset = jiffies; p->host_no = host->host_no; host->unique_id = p->instance; p->isr_count = 0; @@ -7489,7 +7485,7 @@ p->dev_commands_sent[i] = 0; p->dev_flags[i] = 0; p->dev_active_cmds[i] = 0; - p->dev_last_reset[i] = 0; + p->dev_last_reset[i] = jiffies; p->dev_last_queue_full[i] = 0; p->dev_last_queue_full_count[i] = 0; p->dev_max_queue_depth[i] = 1; @@ -7497,7 +7493,6 @@ p->dev_mid_level_queue_depth[i] = 3; scbq_init(&p->delayed_scbs[i]); init_timer(&p->dev_timer[i]); - p->dev_timer[i].expires = 0; p->dev_timer[i].data = (unsigned long)p; p->dev_timer[i].function = (void *)aic7xxx_timer; }
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/
| |