Re: More on the IDE multiwrite problem

Mark Lord (mlord@pobox.com)
Sat, 18 Dec 1999 12:11:04 -0500


Mark Lord wrote:
..
> > > 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!
..
> The old code used to do:
>
> disable_irq_nosync(hwif->irq); /* from ide.c:ide_do_request() */
> ...
> /* insert code fragment from above */
> ...
> enable_irq(hwif->irq); /* from ide.c:ide_do_request() */

Okay, the error reported must be from the second ide_multwrite() call,
after the "END IRQ" in Alan's scenario above. This could all make sense.

If so, reinstating the disable/enable calls *for this fragment only*
should cure the problem 100%.

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