Re: 2.5.8 IDE oops (TCQ breakage?)

From: Jens Axboe (axboe@suse.de)
Date: Wed Apr 17 2002 - 07:08:17 EST


On Wed, Apr 17 2002, Martin Dalecki wrote:
> Mikael Pettersson wrote:
> >I have a 486 box which ran 2.5.7 fine, but 2.5.8 oopses during
> >boot at the BUG_ON() in drivers/ide/ide-disk.c, line 360:
> >
> > if (drive->using_tcq) {
> > int tag = ide_get_tag(drive);
> >
> > BUG_ON(drive->tcq->active_tag != -1);
>
> OK it could be that the tca goesn't get allocated if there
> was no chipset selected. Lets have a look...

Add a drive->using_dma check to ide_dma_queued_on in ide-tcq.c, it needs
to look like this:

ide_tcq_dmaproc()
{

        ...

                case ide_dma_queued_off:
                        enable_tcq = 0;
                case ide_dma_queued_on:
                        if (!drive->using_dma)
                                return 1;
                        return ide_enable_queued(drive, enable_tcq);
                default:
                        break;
        }

that should fix it.

-- 
Jens Axboe

- 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/



This archive was generated by hypermail 2b29 : Tue Apr 23 2002 - 22:00:18 EST