On Tue, Apr 04 2000, Nigel Chan wrote:
> Hi all,
> 
> Whenever I am running 2.3.99-pre3 and try to recompile the kernel I get the
> following error:
> ==========ERROR MESSAGE BEGIN===================================
> Bad segment list supplied to aha1542.c (17, 0)
> 0: c009d200 c6ab3400 1024
> 1: c009d600 c6ada000 1024
> 2: c009da00 c6ab6800 1024
> 3: c009c000 c6acfc00 1024
> 4: c009c400 c6acf400 1024
> 5: c009c800 c6ad2800 1024
> 6: c009cc00 c6ad2000 1024
> 7: c02d7000 c6ad0000 1024
> 8: c02d7400 c6ac0c00 1024
> 9: c02d7800 c6ab3c00 1024
> 10: c02d7c00 c6ac2800 1024
> 11: c02d6000 c6ac8000 1024
> 12: c02d6400 c6ac6000 1024
> 13: c02d6800 c6ac8400 1024
> 14: c02d6c00 c6ad7c00 1024
> 15: c02d5000 c6abd000 1024
> 16: c02d5400 c6abb400 1024
> cptr c009de00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> <0>Kernel panic: Foooooooood fight!
> In interrupt handler - not syncing
> ==========ERROR MESSAGE END=====================================
> 
> Note: this does not happen when I am running a 2.3.39 kernel and compile
> the 2.3.99-pre3 kernel.
> I have read through the info the Documentation directory, but that was no
> help. Also, I have the latest version of the utilities listed in the
> Changes file.

It has to do with the queueing changes that were introduced in 2.3.43,
which is why it works in 2.3.39. Apparently the aha1542 doesn't like
requests with more than 16 segments.

This needs to be fixed properly, but for now you ought to get by
with this crude limit fix.

-- 
*  Jens Axboe <[EMAIL PROTECTED]>
*  Linux CD/DVD-ROM, SuSE Labs
*  http://kernel.dk
--- include/linux/blkdev.h~     Tue Apr  4 14:14:33 2000
+++ include/linux/blkdev.h      Tue Apr  4 14:14:41 2000
@@ -148,7 +148,7 @@
 
 #define MAX_SECTORS 128
 
-#define MAX_SEGMENTS MAX_SECTORS
+#define MAX_SEGMENTS 16
 
 #define PageAlignSize(size) (((size) + PAGE_SIZE -1) & PAGE_MASK)
 

Reply via email to