Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 8 Mar 2002 06:15:37 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 8 Mar 2002 06:15:18 -0500 Received: from swazi.realnet.co.sz ([196.28.7.2]:30898 "HELO netfinity.realnet.co.sz") by vger.kernel.org with SMTP id ; Fri, 8 Mar 2002 06:15:16 -0500 Date: Fri, 8 Mar 2002 13:00:22 +0200 (SAST) From: Zwane Mwaikambo X-X-Sender: zwane@netfinity.realnet.co.sz To: Linux Kernel Cc: Jens Axboe Subject: [PATCH][2.5] BUG check in elevator.c:237 Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Please refer to Subject [PANIC] 2.5.5-pre1 elevator.c for more detailed explanation. I don't really like this patch mainly because it _really_ feels like a bandaid for a larger problem in ide-cd, namely it violating the ide layers command requirements. But it does stop my box from oopsing and lets it finish the "dd" i was doing. Oops is at the end. diffed against 2.5.6-pre3 (one down 2 quadrillion to go ;) --- linux-2.5.6-pre/drivers/ide/ide-cd.c.orig Fri Mar 8 12:09:10 2002 +++ linux-2.5.6-pre/drivers/ide/ide-cd.c Fri Mar 8 12:04:08 2002 @@ -666,9 +666,11 @@ cdrom_end_request(drive, 0); } - /* If we got a CHECK_CONDITION status, - queue a request sense command. */ - if ((stat & ERR_STAT) != 0) + /* If we got a CHECK_CONDITION status, queue a request sense command, + however if we're generating spurious errors, make sure we don't + attempt to queue an an already started request. + */ + if (((stat & ERR_STAT) != 0) && !(rq->flags & REQ_STARTED)) cdrom_queue_request_sense(drive, NULL, NULL, NULL); } else blk_dump_rq_flags(rq, "ide-cd bad flags"); invalid operand: 0000 CPU: 0 EIP: 0010:[] Not tainted EFLAGS: 00010086 eax: 0000001e ebx: cfdd6c50 ecx: ffffff43 edx: 000017b6 esi: c03753c8 edi: c03753c8 ebp: c159ca64 esp: c02fdc68 ds: 0018 es: 0018 ss: 0018 Process swapper (pid: 0, threadinfo=c02fc000 task=c02e3ec0) Stack: c02bc7c5 000000ed 00000000 c03753c8 c03753c8 00000002 00000002 c01fd4a9 c03753c8 cfdd6c50 c03753c8 c15ab37c 00000000 00000000 c02fdcb0 c02fdcb0 00000000 00000000 c02fdcb0 c02fdcb0 00000000 cfdd3a78 c03753c8 00000001 Call Trace: [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] Code: 0f 0b 58 5a 8b 43 1c a9 04 00 00 00 75 0a 83 e0 01 8b 44 85 <0>Kernel panic: Aiee, killing interrupt handler! In interrupt handler - not syncing >>EIP; c01ebb68 <===== Trace; c01fd4a9 Trace; c02070ec Trace; c0207471 Trace; c0121075 Trace; c01213ed Trace; c010d54b Trace; c010a1ea Trace; c010a434 Trace; c01153d3 Trace; c01319f8 Trace; c022e91b Trace; c022ea82 <__kfree_skb+112/120> Trace; c0230a5d Trace; c028fbf0 Trace; c028d4d3 Trace; c025f478 Trace; c025f835 Trace; c0232c09 Trace; c024118b Trace; c0241524 Trace; c01fd2c6 Trace; c0207400 Trace; c010a1ea Trace; c010a3e1 Trace; c0106d50 Trace; c0106d50 Trace; c0106d50 Trace; c0106d74 Trace; c0106df2 Trace; c0105000 <_stext+0/0> Code; c01ebb68 00000000 <_EIP>: Code; c01ebb68 <===== - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/