X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Feeprom.c;h=26bd90fb3d63a46c8985b483d51cbf495001eaae;hb=a3fbaaca5bb78a1d53d3b32f345186013567fa61;hp=ba62b0033f7002afdd28df1af956014ef32416b0;hpb=4e4b0f5fe62bd85f3df0ef5b219a25c9b3fb45e3;p=bertos.git diff --git a/bertos/drv/eeprom.c b/bertos/drv/eeprom.c index ba62b003..26bd90fb 100644 --- a/bertos/drv/eeprom.c +++ b/bertos/drv/eeprom.c @@ -181,9 +181,8 @@ static size_t eeprom_write(KBlock *blk, block_idx_t idx, const void *buf, size_t STATIC_ASSERT(countof(addr_buf) <= sizeof(e2addr_t)); - /* clamp size to memory limit (otherwise may roll back) */ - ASSERT(idx <= blk->blk_cnt); + ASSERT(idx < blk->priv.blk_start + blk->blk_cnt); size = MIN(size, blk->blk_size - offset); if (mem_info[eep->type].has_dev_addr) @@ -230,7 +229,7 @@ static size_t eeprom_readDirect(struct KBlock *_blk, block_idx_t idx, void *_buf STATIC_ASSERT(countof(addr_buf) <= sizeof(e2addr_t)); /* clamp size to memory limit (otherwise may roll back) */ - ASSERT(idx <= blk->blk.blk_cnt); + ASSERT(idx < blk->blk.priv.blk_start + blk->blk.blk_cnt); size = MIN(size, blk->blk.blk_size - offset); e2dev_addr_t dev_addr; @@ -330,6 +329,7 @@ static const KBlockVTable eeprom_unbuffered_vt = * \param type is the eeprom device we want to initialize (\see EepromType) * \param i2c context for i2c channel * \param addr is the i2c devide address (usually pins A0, A1, A2). + * \param verify enable the write check. */ void eeprom_init_5(Eeprom *eep, I2c *i2c, EepromType type, e2dev_addr_t addr, bool verify) {