summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chip/g/board_id.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/chip/g/board_id.c b/chip/g/board_id.c
index 15a8f54376..e816720fb9 100644
--- a/chip/g/board_id.c
+++ b/chip/g/board_id.c
@@ -192,7 +192,10 @@ static enum vendor_cmd_rc vc_set_board_id(enum vendor_cmd_cc code,
memcpy(&id.type, pbuf, sizeof(id.type));
id.type = be32toh(id.type);
- id.type_inv = ~id.type;
+ if (id.type == BLANK_FIELD)
+ id.type_inv = BLANK_FIELD;
+ else
+ id.type_inv = ~id.type;
memcpy(&id.flags, pbuf + sizeof(id.type), sizeof(id.flags));
id.flags = be32toh(id.flags);