From 9e3510c455bd637b556bc1ec14ad141d4a1a24d7 Mon Sep 17 00:00:00 2001 From: Gavin Lambert Date: Tue, 14 Apr 2015 09:34:15 -0400 Subject: [PATCH] When detaching a slave from a slave_config, fail any pending register requests instead of leaving them BUSY forever. --- master/slave_config.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/master/slave_config.c b/master/slave_config.c index e39aeef7..32b02b70 100755 --- a/master/slave_config.c +++ b/master/slave_config.c @@ -308,6 +308,10 @@ void ec_slave_config_detach( list_for_each_entry(reg, &sc->reg_requests, list) { if (sc->slave->fsm.reg_request == reg) { sc->slave->fsm.reg_request = NULL; + EC_SLAVE_WARN(sc->slave, "Aborting register request," + " slave is detaching.\n"); + reg->state = EC_INT_REQUEST_FAILURE; + wake_up_all(&sc->slave->master->request_queue); break; } }