Exemple #1
0
void *csp_buffer_get_isr(size_t buf_size) {
	void *buffer = NULL;
	CSP_BASE_TYPE task_woken = 0;

	if (buf_size + CSP_BUFFER_PACKET_OVERHEAD > size)
		return NULL;

	csp_queue_dequeue_isr(csp_buffers, &buffer, &task_woken);

	return buffer;
}
Exemple #2
0
void *csp_buffer_get_isr(size_t buf_size) {

	csp_skbf_t * buffer = NULL;
	CSP_BASE_TYPE task_woken = 0;

	if (buf_size + CSP_BUFFER_PACKET_OVERHEAD > size)
		return NULL;

	csp_queue_dequeue_isr(csp_buffers, &buffer, &task_woken);
	if (buffer == NULL)
		return NULL;

	//csp_log_buffer("GET ISR: %p %p\r\n", buffer, buffer->skbf_addr);

	if (buffer != buffer->skbf_addr) {
		//csp_log_error("Corrupt CSP buffer\r\n");
		return NULL;
	}

	buffer->refcount++;
	return buffer->skbf_data;

}