lkml.org 
[lkml]   [1999]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
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.
mlord@pobox.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:55    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site