diff -r 68c1c31522a2 -r ac35f4d38a31 master/fsm_master.c --- a/master/fsm_master.c Thu Dec 23 09:28:39 2010 +0100 +++ b/master/fsm_master.c Thu Dec 23 09:48:56 2010 +0100 @@ -1227,3 +1227,14 @@ } /*****************************************************************************/ + +/** called by kref_put if the request's refcount becomes zero. + * + */ +void ec_master_sdo_request_release(struct kref *ref) +{ + ec_master_sdo_request_t *request = container_of(ref, ec_master_sdo_request_t, refcount); + EC_SLAVE_DBG(request->slave, 1, "Releasing request %p.\n",request); + ec_sdo_request_clear(&request->req); + kfree(request); +}