On 4/25/21 11:06 AM, Finn Thain wrote:
This was tested on my Quadra 630. I haven't tested it on my PowerBook 150 because I don't have a RAM adapter board for it. Apparently, the hardware I tested doesn't need macide_clear_irq() or macide_test_irq() -- if it did, the generic driver would not have worked. It's possible that those routines are needed for the PowerBook 150 but we can cross that bridge if and when we come to it. BTW, macide_clear_irq() appears to suffer from a race condition. The write to the interrupt flags register could easily have unintended side effects as it may alter other flag bits. Fortunately, all of the other bits are unused by Linux. Moreover, when tested on my Quadra 630, that assignment (*ide_ifr &= ~0x20) was observed to have no effect on bit 5.
Shouldn't we switch to a libata driver instead with legacy IDE been slated for removal from the Linux kernel? Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaubitz@xxxxxxxxxx `. `' Freie Universitaet Berlin - glaubitz@xxxxxxxxxxxxxxxxxxx `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913