Semaphore on i2c driver keeps blocked the code for an infinite time

Hello all, on my application based on STM32F2 family, after some hours of running without problems enters in a strange condition where osSemaphoreWait keeps blocked the code for a infinite time inside the i2c driver static int32_t I2C_SendData.
I can't manually change drivers to keep the Keil package structure valid so I'm asking if someone had evidence of some limitations about long time use of this function that use RTX semaphore managing. To be considered that same i2c port is used for ADC that works about 80Hz so I suspect that some access conflict, not properly managed, statistically generates this hanging situation.

This is driver revision :
/* ---------------------------------------------------------------------- * Copyright (C) 2014 ARM Limited. All rights reserved. * * $Date: 14. April 2013 * $Revision: V1.03

Thanks for any suggestion.

More questions in this forum