/* 82573 reads only through eerd */ if(eeprom->use_eewr == TRUE) return e1000_write_eeprom_eewr(hw, offset, words, data);  
e1000_write_eeprom(struct e1000_hw *hw,                   uint16_t offset,                   uint16_t words,                   uint16_t *data){    struct e1000_eeprom_info *eeprom = &hw->eeprom;    int32_t status = 0;    DEBUGFUNC("e1000_write_eeprom");    /* A check for invalid values:  offset too large, too many words, and not     * enough words.     */    if((offset >= eeprom->word_size) || (words > eeprom->word_size - offset) ||       (words == 0)) {        DEBUGOUT("\"words\" parameter out of bounds\n");        return -E1000_ERR_EEPROM;    }    /* Prepare the EEPROM for writing  */    if (e1000_acquire_eeprom(hw) != E1000_SUCCESS)        return -E1000_ERR_EEPROM;    if(eeprom->type == e1000_eeprom_microwire) {        status = e1000_write_eeprom_microwire(hw, offset, words, data);    } else {        status = e1000_write_eeprom_spi(hw, offset, words, data);        msec_delay(10);    }    /* Done with writing */    e1000_release_eeprom(hw);    return status;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2d7edb923a823660b081bd4c660300ee19adca8d/e1000_hw.c/buggy/drivers/net/e1000/e1000_hw.c