[lkml]   [1999]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: More on the IDE multiwrite problem
    Alan Cox wrote:
    > I've been doing some more digging. Having been over the multiwrite code
    > (with the io unlock fix in it) Im mystified what is going on.
    > The error case appears to have a definite pattern. It is always
    > multiwrite_intr status=0x50 (or 52) { DriveReady SeekCompete }
    > buffer list corrupted
    > [maybe a repeat of the error code]
    > then either a crash or an I/O error log from end_request

    Mmm.. are you sure about the status bits? There is no DRQ (datarequest).
    I wonder if we are just responding incorrectly to the final "I/O complete"
    interrupt or something? Because without the DRQ bit set, the drive is
    NOT expecting any more output data.
    > I'll keep on poking around the code. The obvious path for an error would
    > seem to be
    > hwgroup->wrq = *rq;
    > ide_set_handler(drive, &multiwrite_intr, WAIT_CMD)
    > -> IRQ here <-.
    > multiwrite_intr gets an error
    > completes the request
    > => END IRQ <-
    > ide_multiwrite ....
    > BOOM!

    But that path, and IRQ-masking etc.. doesn't seem to be any different
    from before.. darn it! Mmm...
    Mark Lord
    Real-Time Remedies Inc.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

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