@@ -81,6 +81,9 @@ extern "C" {
81
81
* and final xor of 0xFFFFFFFF, and reflection of both input and output. If any
82
82
* of these settings cannot be configured the polynomial is not supported.
83
83
*
84
+ * This function is thread safe, it safe to call from multiple contexts if
85
+ * required.
86
+ *
84
87
* \param config Contains CRC configuration parameters for initialising the
85
88
* hardware CRC module. For example, polynomial and initial seed
86
89
* values.
@@ -112,7 +115,7 @@ bool hal_crc_is_supported(const crc_mbed_config_t* config);
112
115
*
113
116
* This function is not thread safe, a CRC calculation must not be started from
114
117
* two different threads or contexts at the same time, calling this function
115
- * from two different contexts may lead to configurations being overwrite and
118
+ * from two different contexts may lead to configurations being overwritten and
116
119
* results being lost.
117
120
*
118
121
* \param config Contains CRC configuration parameters for initialising the
@@ -165,6 +168,10 @@ void hal_crc_compute_partial(const uint8_t *data, const size_t size);
165
168
* value on successive calls is undefined as the contents of the register after
166
169
* accessing them is platform-specific.
167
170
*
171
+ * This function is not thread safe. There is only one instance of the CRC
172
+ * module active at a time, calling this function from multiple contexts may
173
+ * return incorrect data or affect the current state of the module.
174
+ *
168
175
* \return The final CRC checksum after the reflections and final calculations
169
176
* have been applied.
170
177
*/
0 commit comments