ata_std_end_eh(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ata_std_end_eh(9) β€” Kernel API Manual, bestie edition πŸ’…

Okay so this is ata_std_end_eh(9), and yes, the manual name is right there because we’re doing this properly. Group-chat huddle: this page is all about the common routine that non-libsas ata_ports use to complete EH. Slay.


✨ NAME ✨

ata_std_end_eh β€” non-libsas ata_ports complete EH with this common routine. It’s giving β€œone routine to wrap it up” energy, and honestly? Obsessed.

πŸ¦‹ SYNOPSIS πŸ¦‹

void ata_std_end_eh (struct ata_port *ap );

πŸŽ€ ARGUMENTS πŸŽ€

  • ap β€” the ATA port to end EH for. That’s it, bestie; that’s the whole argument.

🌸 DESCRIPTION 🌸

In the libata object model there is a 1:1 mapping of ata_port to shost, so host fields can be directly manipulated under ap->lock. Literally one-to-one, no cap. In the libsas case, though, we need to hold a lock at the ha->level to coordinate these events. Different lane, different lock vibe. iykyk.

LOCKING: spin_lock_irqsave(host lock) β€” yes, that’s the lock situation, and it is very much not optional. 🫢

πŸ”₯ SEE ALSO πŸ”₯

Kernel file first, then the whole friend group:


πŸ’Œ sign-off: source/version ./drivers/ata Β· date October 2026 Β· manual ata_std_end_eh(9). Bye bestie, go end that EH 🫢✨

πŸ“¦ where this page comes from