How may i see code examples for IDE or DMA drivers?

How may i see 2-3 pages of low-level “driver” source code such as for IDE device or of the source code what uses DMA.
Why this question?
I was using LINUX two month in real work - but the periodical FAT32 crashes was occured. I was see IDE low-level source code - those crashes MUST exist. LINUX using was canceled. I think that it may work only occasionally in some computers.
I was looking many “alternative” systems - only Haiku (and Linux:) lives more than 30 minutes on all my “big” computers.

The IDE bus support in Haiku is splitted into two parts :

  • An abstract bus “manager” layer
  • An actual bus controler layer, which does the IO, DMA included.

The source code of Haiku’s IDE bus manager is there:
http://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/bus_managers/ide

The source code of Haiku’s IDE bus controlers are located below there:
http://cgit.haiku-os.org/haiku/tree/src/add-ons/kernel/busses/ide

Thank you for references!
I has got the full information.

The abstract layer is not so abstract; and the physical layer is not separated correctly. This is the same as in the Linux kernel.

Some euristics (typically: timeouts) used.

Must not work properly in any PC-like architecture.