sdio_retune_crc_disable(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ sdio_retune_crc_disable(9) ✨

okay so bestie, welcome to the sdio_retune_crc_disable(9) page β€” it's a Kernel API Manual moment and honestly it's giving "small function, big responsibilities" πŸŽ€


🌸 NAME 🌸

sdio_retune_crc_disable β€” temporarily disable retuning on CRC errors πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

void sdio_retune_crc_disable (struct sdio_func *func );

⭐ ARGUMENTS ⭐

  • func β€” the SDIO function that's attached to the host, literally the whole personality of this call 🫢

πŸ’– DESCRIPTION πŸ’–

so here's the vibe: sometimes your SDIO card is known to be in a state where it might just start producing CRC errors on the bus in response to commands β€” like, no cap, you know it's transitioning between power states and it's being a little messy about it 😭. When that's the situation, an SDIO function driver can call this function to temporarily disable the SD/MMC core behavior of triggering an automatic retuning. Temporary. That word is doing a lot of work here, don't forget it.

the way this works is a whole sequence, and it is not optional bestie:

This function should be called while the host is claimed, and the host should remain claimed until sdio_retune_crc_enable is called. Claiming and releasing at the wrong times is a bad time, fr fr.

Specifically, the expected sequence of calls is:

  • sdio_claim_host
  • sdio_retune_crc_disable
  • some number of calls like sdio_writeb and sdio_readb
  • sdio_retune_crc_enable
  • sdio_release_host

look at that choreography 😌 claim, disable, do your little reads and writes, enable, release. Iconic. In order. Every time. πŸ‘‘


🌈 SEE ALSO 🌈

Kernel file ./drivers/mmc/core/sdio_io.c β€” and the whole friend group:


and that's the page, bestie!! πŸ’œ this little gem lives in ./drivers/mmc/core and it's dated October 2026 β€” go forth and claim that host responsibly 🌟

πŸ“¦ where this page comes from