igb_io_slot_reset(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… igb_io_slot_reset(9) β€” like, the Kernel API Manual page, bestie

okay so picture this: it's the Kernel API Manual, and this one little function is the "we just got PCI-reset, time to wake up" moment. It's called igb_io_slot_reset, and yes it's giving main-character energy in the error-recovery arc πŸ¦‹


🌸 NAME 🌸

igb_io_slot_reset β€” the one that gets called after the pci bus has been reset. no cap, that's literally the job description πŸ’…


✨ SYNOPSIS ✨

pci_ers_result_t igb_io_slot_reset (struct pci_dev *pdev );

πŸŽ€ ARGUMENTS πŸŽ€

  • pdev β€” pointer to the PCI device. that's your girl. the card in question 🫢

πŸ’– DESCRIPTION πŸ’–

So what does it do? It restarts the card from scratch, as if from a cold-boot β€” like ripping the plug and plugging it back in, except polite and in-kernel. πŸ”₯

And the implementation? Lowkey iconic: it resembles the first-half of the __igb_resume routine. so it's not reinventing the wheel, it's just doing the opening number of the whole resume choreography. slay 🌈


🌟 SEE ALSO 🌟

The kernel file lives at ./drivers/net/ethernet/intel/igb/igb_main.c β€” that's the mothership, bestie πŸ‘‘

and now, the full igb cinematic universe, in order, no skips, no cuts (iykyk):

igb_get_i2c_data(9), igb_set_i2c_data(9), igb_set_i2c_clk(9), igb_get_i2c_clk(9), igb_get_hw_dev(9), igb_init_module(9), igb_exit_module(9), igb_cache_ring_register(9), igb_write_ivar(9), igb_configure_msix(9), igb_request_msix(9), igb_free_q_vector(9), igb_reset_q_vector(9), igb_free_q_vectors(9), igb_clear_interrupt_scheme(9), igb_set_interrupt_capability(9), igb_alloc_q_vector(9), igb_alloc_q_vectors(9), igb_init_interrupt_scheme(9), igb_request_irq(9), igb_irq_disable(9), igb_irq_enable(9), igb_release_hw_control(9), igb_get_hw_control(9), igb_config_tx_modes(9), igb_setup_tx_mode(9), igb_configure(9), igb_power_up_link(9), igb_power_down_link(9), igb_check_swap_media(9), igb_up(9), igb_set_i2c_bb(9), igb_set_fw_version(9), igb_init_mas(9), igb_init_i2c(9), igb_probe(9), igb_remove_i2c(9), igb_remove(9), igb_probe_vfs(9), igb_sw_init(9), __igb_open(9), __igb_close(9), igb_setup_tx_resources(9), igb_setup_all_tx_resources(9), igb_setup_tctl(9), igb_configure_tx_ring(9), igb_configure_tx(9), igb_setup_rx_resources(9), igb_setup_all_rx_resources(9), igb_setup_mrqc(9), igb_setup_rctl(9), igb_setup_srrctl(9), igb_configure_rx_ring(9), igb_configure_rx(9), igb_free_tx_resources(9), igb_free_all_tx_resources(9), igb_clean_tx_ring(9), igb_clean_all_tx_rings(9), igb_free_rx_resources(9), igb_free_all_rx_resources(9), igb_clean_rx_ring(9), igb_clean_all_rx_rings(9), igb_set_mac(9), igb_write_mc_addr_list(9), igb_set_rx_mode(9), igb_has_link(9), igb_check_lvmmc(9), igb_watchdog(9), igb_update_ring_itr(9), igb_update_itr(9), igb_tx_timeout(9), igb_get_stats64(9), igb_change_mtu(9), igb_update_stats(9), igb_set_uta(9), igb_intr_msi(9), igb_intr(9), igb_poll(9), igb_clean_tx_irq(9), igb_reuse_rx_page(9), igb_add_rx_frag(9), igb_is_non_eop(9), igb_cleanup_headers(9), igb_process_skb_fields(9), igb_alloc_rx_buffers(9), igb_mii_ioctl(9), igb_ioctl(9), igb_io_error_detected(9), igb_io_resume(9), igb_rar_set_index(9), igb_read_i2c_byte(9), igb_write_i2c_byte(9)


and that's the whole page, bestie, no crumbs left πŸ’€

this lil masterpiece comes to you from ./drivers/net/ethernet/intel/igb, dated October 2026 β€” igb_io_slot_reset(9), periodt πŸ’œβœ¨

πŸ“¦ where this page comes from