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; }
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; }