Messages in this thread | | | Date | Sat, 18 Dec 1999 12:11:04 -0500 | From | Mark Lord <> | Subject | Re: More on the IDE multiwrite problem |
| |
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/
| |