ata_eh_read_log_10h(9)
π ata_eh_read_log_10h(9) β the libata NCQ error-detective era π
okay bestie, gather round, because we're diving into Kernel API Manual territory and this one is genuinely such a specific little slay π«Ά It lives in the kernel file ./drivers/ata/libata-sata.c, so you already know it's ATA business. Let's get into it β¨
πΈ NAME πΈ
ata_eh_read_log_10h β literally just: read log page 10h for NCQ error details. that's the whole vibe, no notes π
π¦ SYNOPSIS π¦
int ata_eh_read_log_10h (struct ata_device *dev , int *tag , struct
ata_taskfile *tf );
so it hands you back an int, and it takes three things: a struct ata_device *dev, an int *tag, and a struct ata_taskfile *tf. note the cute little signature formatting β int *tag , with the space before the comma, that's just how the page wrote it, we don't touch β¨
π ARGUMENTS π
devβ the device we're reading log page 10h from. like, this is the one we're interviewing about what went wrong πtagβ where the resulting tag of the failed command gets dropped off. output param energy πtfβ where the resulting taskfile registers of the failed command land. also output, also iconic π
π DESCRIPTION π
Read log page 10h to obtain NCQ error details and clear error condition. that's it, that's the job β you go get the tea from log page 10h, you find out what the NCQ error actually was, and you clear that error condition so we can all move on with our lives π§
LOCKING: Kernel thread context (may sleep). ngl this matters so much β you may sleep here, so don't you dare call it from somewhere spicy like an atomic context π it's giving "know where you're allowed to be" energy.
π₯ RETURN π₯
0 on success, -errno otherwise. classic. zero means slay, negative errno means something went sideways and you get to go read the errno like a little detective π΅οΈββοΈ
π SEE ALSO π
bestie the SEE ALSO section is long and honestly every single one of these deserves its own moment, so buckle up π All of these live in the kernel file ./drivers/ata/libata-sata.c:
sata_scr_valid(9)sata_scr_read(9)sata_scr_write(9)sata_scr_write_flush(9)ata_tf_to_fis(9)ata_tf_from_fis(9)sata_link_debounce(9)sata_link_resume(9)sata_link_scr_lpm(9)sata_set_spd_needed(9)sata_set_spd(9)sata_down_spd_limit(9)sata_link_hardreset(9)sata_std_hardreset(9)ata_qc_complete_multiple(9)ata_slave_link_init(9)sata_lpm_ignore_phy_events(9)ata_ncq_prio_supported(9)ata_ncq_prio_enabled(9)ata_ncq_prio_enable(9)ata_change_queue_depth(9)ata_scsi_change_queue_depth(9)ata_sas_sdev_configure(9)ata_sas_queuecmd(9)sata_async_notification(9)ata_eh_get_ncq_success_sense(9)ata_eh_analyze_ncq_error(9)
twenty-seven entries. twenty-seven!! not me counting. okay I counted π it's a whole friendship group and ata_eh_read_log_10h is like, adjacent to all of them π«Ά
π« cute little sign-off π«
this page is from the ./drivers/ata corner of the kernel, and it was dated October 2026 β yes, future-dated, main character energy fr fr β so go read your log page 10h, get your NCQ error details, clear that error condition, and remember: 0 on success, -errno otherwise. periodt. πππ¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms