Closed parthy closed 11 years ago
Damn it, I referenced the wrong issue. But it should be fixed now (https://github.com/TUD-OS/NRE/commit/b1cdee3b79f67ec0d38a70ffc795c24330813391).
Why don't you just set the IE register in identify_drive, before throwing the exception? ;)
Because set_parameters throws an exception as well and I wanted to prevent code-duplication (nobody cares about the performance of failures :)).
I see, that makes sense. :)
When an IDENTIFY command fails, it may happen that the device sends interrupts afterwards. However, the object throws an exception and clears the port pointer, resulting in an endless interrupt loop because the is field of the respective port never gets cleared. I propose to disable interrupts before clearing the object pointer.