@@ -168,7 +168,7 @@ static int write_corrupted_close_ate(int mtd_fd,
168168 int ret ;
169169
170170 memset (close_ate , ctx -> erasestate , ate_size );
171- close_ate -> id = 0xffffffff ;
171+ close_ate -> id = ctx -> erasestate ;
172172 close_ate -> len = 0U ;
173173
174174 ret = write (mtd_fd , & close_ate , ate_size );
@@ -196,7 +196,7 @@ static int write_close_ate(int mtd_fd, FAR struct mtdnvs_ctx_s *ctx,
196196 int ret ;
197197
198198 memset (close_ate , ctx -> erasestate , ate_size );
199- close_ate -> id = 0xffffffff ;
199+ close_ate -> id = ctx -> erasestate ;
200200 close_ate -> len = 0U ;
201201 close_ate -> offset = offset ;
202202 fill_crc8_update (close_ate );
@@ -225,7 +225,7 @@ static int write_gc_done_ate(int mtd_fd, FAR struct mtdnvs_ctx_s *ctx)
225225 int ret ;
226226
227227 memset (gc_done_ate , ctx -> erasestate , ate_size );
228- gc_done_ate -> id = 0xffffffff ;
228+ gc_done_ate -> id = ctx -> erasestate ;
229229 gc_done_ate -> len = 0U ;
230230 fill_crc8_update (gc_done_ate );
231231
@@ -261,8 +261,8 @@ static int write_ate(int mtd_fd, FAR struct mtdnvs_ctx_s *ctx,
261261 ate -> offset = offset ;
262262 ate -> key_len = strlen (key ) + 1 ;
263263 fill_crc8_update (ate );
264- ate -> expired [nvs_align_up (ctx , sizeof (struct nvs_ate ) )]
265- = expired ? 0x7f : 0xff ;
264+ ate -> expired [nvs_align_up (ctx , sizeof (ate )) - sizeof ( ate )]
265+ = expired ? ~ ctx -> erasestate : ctx -> erasestate ;
266266
267267 ret = write (mtd_fd , ate , ate_size );
268268 if (ret != ate_size )
0 commit comments