- for (i = 0; i < length; i++) {
- ret_code = ice_read_sr_word(hw, offset + i, &data[i]);
- if (ret_code != ICE_SUCCESS) {
- PMD_DRV_LOG(ERR, "EEPROM read failed.");
- return -EIO;
- }
+ status = ice_read_sr_buf(hw, first_word, &nwords, data);
+ if (status) {
+ PMD_DRV_LOG(ERR, "EEPROM read failed.");
+ eeprom->length = sizeof(uint16_t) * nwords;
+ return -EIO;