# HG changeset patch # User Florian Pose # Date 1172846829 0 # Node ID a82c53d6a5d4524d2f580fc3a8ec95b2963b9f5f # Parent 96a8948959994c185d38a5bb83279b1949281c21 Minor changes in EEPROM write code. diff -r 96a894895999 -r a82c53d6a5d4 master/slave.c --- a/master/slave.c Fri Mar 02 14:35:49 2007 +0000 +++ b/master/slave.c Fri Mar 02 14:47:09 2007 +0000 @@ -839,12 +839,13 @@ if (request.state == EC_EEPROM_REQ_QUEUED) { list_del(&request.list); up(&master->eeprom_sem); - return -EPERM; - } - // request processing: interrupt not possible. + return -EINTR; + } + // request already processing: interrupt not possible. up(&master->eeprom_sem); } + // wait until master FSM has finished processing wait_event(master->eeprom_queue, request.state != EC_EEPROM_REQ_BUSY); return request.state == EC_EEPROM_REQ_COMPLETED ? size : -EIO;