lkml.org 
[lkml]   [1998]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-03-22 13:45    [W:0.084 / U:0.696 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site