Project

General

Profile

Actions

Bug #16596

open

nvmeadm: some firmware activation controller errors are not

Added by Andy Fiddaman 11 days ago. Updated 11 days ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
cmd - userland programs
Start date:
Due date:
% Done:

0%

Estimated time:
Difficulty:
Bite-size
Tags:
Gerrit CR:
External Bug:

Description

nvmeadm's activate-firmware command issues a firmware commit command to the
controller with the commit action set to 2 - The existing image in the
specified Firmware Slot is activated at the next Controller Level Reset.

Some of the command specific status values returned from this are not actually
errors but are treated as such by nvmeadm.

gimlet-sn06 # nvmeadm activate-firmware nvme0 3
nvmeadm: failed to activate-firmware firmware on nvme0:
failed to execute firmware commit command:
received controller error sct/sc command specific status/firmware activation requires
conventional reset (0x1/0xb): NVME_ERR_CONTROLLER (libnvme: 0x1, sys: 0)

At least the "failed to execute firmware commit command" here is misleading.
The defition of value 0xb from the standard is:

Firmware Activation Requires Conventional Reset: The firmware commit was
successful, however, activation of the firmware image requires a Conventional
Reset. If an FLR or Controller Reset occurs prior to a Conventional Reset,
the controller shall continue operation with the currently executing firmware
image.

This also applies to values 0x10, 0x11 and 0x12, all of which indicate that
firmware was successfully committed.

Actions #1

Updated by Andy Fiddaman 11 days ago

  • Description updated (diff)
Actions #2

Updated by Electric Monk 11 days ago

  • Gerrit CR set to 3540
Actions

Also available in: Atom PDF