SCSI tape crashes (was Re: BUG() in asm/pci.h:142 with 2.4.13)

David S. Miller
2001-10-26T00:26:00Z

From: Jens Axboe <axboe@suse.de>
Date: Thu, 25 Oct 2001 19:32:48 +0200

On Thu, Oct 25 2001, Christian Hammers wrote:
> This patch did not prevent the crash. Again immediately after rewinding the
> tape when it began to write. I'll try now the 2.4.12-ac6... and it works.

Ok, someone else is meddling with the scatterlist then. I'll take a 2nd
look.

Can people try out this patch? I believe this will fix the bug.

--- drivers/scsi/st.c.~1~ Sun Oct 21 02:47:53 2001
+++ drivers/scsi/st.c Thu Oct 25 17:23:45 2001
@@ -3233,6 +3233,7 @@
break;
}
}
+ tb->sg[0].page = NULL;
if (tb->sg[segs].address == NULL) {
kfree(tb);
tb = NULL;
@@ -3264,6 +3265,7 @@
tb = NULL;
break;
}
+ tb->sg[segs].page = NULL;
tb->sg[segs].length = b_size;
got += b_size;
segs++;
@@ -3337,6 +3339,7 @@
normalize_buffer(STbuffer);
return FALSE;
}
+ STbuffer->sg[segs].page = NULL;
STbuffer->sg[segs].length = b_size;
STbuffer->sg_segs += 1;
got += b_size;