lkml.org 
[lkml]   [2002]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] IDE TCQ #4
    On 15 Apr 02 at 21:11, Petr Vandrovec wrote:
    > On 15 Apr 02 at 21:00, Jens Axboe wrote:
    > > >
    > > > NULL pointer ...
    > >
    > > Could you decode that? It doesn't look like any of your drives support
    > > TCQ, it should have enabled them right here:
    >
    > They were already decoded... Also others reported that - after accessing
    > /proc/ide/ide0/hda/identify system dies... I believe that passing
    > hand-created request to ide_raw_taskfile corrupts drive->free_req,
    > and so subsequent drive command after this cat finds that
    > drive->free_req.next is NULL and dies.

    ide_raw_taskfile() sets rq.special to &ar - and &ar is on the stack,
    in this function. Later it falls through to __ide_end_request(), which
    does

    ar = rq->special;
    ...
    if (ar)
    ata_ar_put(drive, ar);

    which adds this ar into drive's free_req chain unconditionally. Maybe
    ata_ar_put should check for ar_queue validity. And where ar_queue
    member is initialized (or at least cleared) in this case at all?

    Unfortunately here my knowledge ends.
    Petr Vandrovec
    vandrove@vc.cvut.cz

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

    \
     
     \ /
      Last update: 2005-03-22 13:25    [W:0.021 / U:30.696 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site