This message is from the T13 list server.
David F. wrote:
Sorry, that should have been nIEN==1.
For a PATA device, the state of the nIEN bit has no effect on the operation of the drive's firmware or on the timing of Status register data changes. The only effect the nIEN bit has is to controller the signal driver for the INTRQ signal.
For a SATA device I seem to remember that there is a strong recommendation that host s/w never set the nIEN bit due to a problem in the SATA protocol description of nIEN and the FIS I bit that results in some device and/or host controllers that did not implement the nIEN and I bits correctly when nIEN=1. Maybe someone with better knowledge of this problem can provide a better description. But remember that for the most part the nIEN is part of the PATA emulation that id done by most SATA host controllers.
In other words the problem you are having may go away if you keep nIEN=0 even when you are not actually expecting or using the device interrupt.
-- ++ Hale Landis ++ www.ata-atapi.com ++
