nvme\_init\_fw\_download(9) libnvme API manual nvme\_init\_fw\_download(9)

# [NAME](#NAME)

nvme\_init\_fw\_download - Initialize passthru command to download part or all of a firmware image to the controller

# [SYNOPSIS](#SYNOPSIS)

**int nvme\_init\_fw\_download** **(struct libnvme\_passthru\_cmd \*cmd ,** **void \*data ,** **\_\_u32 len ,** **\_\_u32 offset );**

# [ARGUMENTS](#ARGUMENTS)

[cmd](#cmd)

Passthru command to use

[data](#data)

Userspace address of the firmware data buffer

[len](#len)

Length of data in this command in bytes

[offset](#offset)

Offset in the firmware data

# [DESCRIPTION](#DESCRIPTION)

Initializes the passthru command buffer for the Firmware Image Download command.

# [NOTE](#NOTE)

Caller must ensure data\_len and offset are DWord-aligned (0x4).

# [RETURN](#RETURN)

0 on success, negative error code otherwise.

nvme\_init\_fw\_download October 2026

---

Document: nvme_init_fw_download-libnvme3(2) from nvme-cli 3.2-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
