Minor changes in EEPROM write code.
--- 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;