STRUCT FW_CDEV_INITIATE_BUS_RESET(9)
π struct fw_cdev_initiate_bus_reset(9) π
okay so welcome to the Kernel API Manual, bestie β this one's a lil struct that literally just exists to make a bus reset happen. short page, iconic energy, let's go β¨
πΈ NAME πΈ
struct fw_cdev_initiate_bus_reset β Initiate a bus reset π
π¦ SYNOPSIS π¦
struct fw_cdev_initiate_bus_reset {
__u32 type;
};
that's it. one field. a whole queen with a single member, we love a minimalist π
π Members π
typeβ set this toFW_CDEV_SHORT_RESETorFW_CDEV_LONG_RESET, pick your fighter, no in-between π
β¨ DESCRIPTION β¨
so the whole vibe here is: you're initiating a bus reset for the bus this device is on. main character move tbh π₯
and there are two flavors of that reset:
- the original (long) bus reset π
- the arbitrated (short) bus reset β the glow-up that got introduced in 1394a-2000 β
ngl the important part: the ioctl returns immediately. like, it does not wait around. it's giving "i sent the text, i'm not waiting for a reply" energy π
a subsequent fw_cdev_event_bus_reset is what tells you when the reset actually happened. and here's the real tea β since ABI v4, that event may land considerably later than the ioctl did π because the kernel ensures a grace period between subsequent bus resets, per the IEEE 1394 bus management specification. so don't be out here thinking something's broken when your event takes a minute, the kernel is just being responsible fr fr π«Ά
lowkey important: the ioctl is instant, the reset is not. two different timelines, bestie. don't mix them up π
π§ SEE ALSO π§
- Kernel file
./include/uapi/linux/firewire-cdev.hstructfw_cdev_event_common(9), structfw_cdev_event_bus_reset(9), structfw_cdev_event_response(9), structfw_cdev_event_response2(9), structfw_cdev_event_request(9), structfw_cdev_event_request2(9), structfw_cdev_event_request3(9), structfw_cdev_event_iso_interrupt(9), structfw_cdev_event_iso_interrupt_mc(9), structfw_cdev_event_iso_resource(9), structfw_cdev_event_phy_packet(9), structfw_cdev_event_phy_packet2(9), unionfw_cdev_event(9), structfw_cdev_get_info(9), structfw_cdev_send_request(9), structfw_cdev_send_response(9), structfw_cdev_allocate(9), structfw_cdev_deallocate(9), structfw_cdev_add_descriptor(9), structfw_cdev_remove_descriptor(9), structfw_cdev_create_iso_context(9), structfw_cdev_set_iso_channels(9), structfw_cdev_iso_packet(9), structfw_cdev_queue_iso(9), structfw_cdev_start_iso(9), structfw_cdev_stop_iso(9), structfw_cdev_flush_iso(9), structfw_cdev_get_cycle_timer(9), structfw_cdev_get_cycle_timer2(9), structfw_cdev_allocate_iso_resource(9), structfw_cdev_send_stream_packet(9), structfw_cdev_send_phy_packet(9), structfw_cdev_receive_phy_packets(9)
like yes that's a lot of friends but every single one of them is on the list, we don't skip the roster π
and that's the page!! π brought to you by ./include/uapi/linux (the source, the origin, the blueprint π), dated October 2026, and stamped right back around to struct fw_cdev_initiate_bus_reset(9) β full circle, 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