Compare commits

..

No commits in common. "6707923afbc38a08118aed1a432d5681154fde7e" and "f73c99b182b4792b0a9677f5cc2c3d7ad037f96c" have entirely different histories.

View file

@ -105,14 +105,12 @@ unsigned int poll_dma_submit(const char *buffer, unsigned int buffer_size)
{ {
unsigned int n = 0; unsigned int n = 0;
if (buffer_size + poll_dma_buffer_size >= 512) { if (buffer_size + poll_dma_buffer_size >= 512) {
if (buffer_size)
memcpy(poll_dma_buffer+poll_dma_buffer_size, buffer, 512-poll_dma_buffer_size); memcpy(poll_dma_buffer+poll_dma_buffer_size, buffer, 512-poll_dma_buffer_size);
int nn = buffer_size + poll_dma_buffer_size - 512; int nn = buffer_size + poll_dma_buffer_size - 512;
unsigned char *new_buffer = dma_poll(poll_dma_buffer); unsigned char *new_buffer = dma_poll(poll_dma_buffer);
if (new_buffer) { if (new_buffer) {
poll_dma_buffer = new_buffer; poll_dma_buffer = new_buffer;
if (nn) memcpy(poll_dma_buffer, buffer+512-poll_dma_buffer_size, n);
memcpy(poll_dma_buffer, buffer+512-poll_dma_buffer_size, nn);
poll_dma_buffer_size = nn; poll_dma_buffer_size = nn;
poll_dma_flags &=~ poll_dma_stuck; poll_dma_flags &=~ poll_dma_stuck;
} }
@ -122,7 +120,7 @@ unsigned int poll_dma_submit(const char *buffer, unsigned int buffer_size)
poll_dma_flags |= poll_dma_stuck; poll_dma_flags |= poll_dma_stuck;
} }
} }
else if (buffer_size) { else {
memcpy(poll_dma_buffer+poll_dma_buffer_size, buffer, buffer_size); memcpy(poll_dma_buffer+poll_dma_buffer_size, buffer, buffer_size);
poll_dma_buffer_size += buffer_size; poll_dma_buffer_size += buffer_size;
} }