summaryrefslogtreecommitdiff
path: root/firmware/pcm_record.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/pcm_record.c')
-rw-r--r--firmware/pcm_record.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/firmware/pcm_record.c b/firmware/pcm_record.c
index f3cb21e491..a5d0e51c30 100644
--- a/firmware/pcm_record.c
+++ b/firmware/pcm_record.c
@@ -1358,7 +1358,6 @@ static void pcmrec_stop(void)
1358 if (is_recording) 1358 if (is_recording)
1359 { 1359 {
1360 dma_lock = true; /* lock dma write position */ 1360 dma_lock = true; /* lock dma write position */
1361 queue_reply(&pcmrec_queue, 0);
1362 1361
1363 /* flush all available data first to avoid overflow while waiting 1362 /* flush all available data first to avoid overflow while waiting
1364 for encoding to finish */ 1363 for encoding to finish */
@@ -1519,15 +1518,11 @@ static void pcmrec_thread(void)
1519 if (is_recording) 1518 if (is_recording)
1520 break; 1519 break;
1521 pcmrec_close(); 1520 pcmrec_close();
1522 /* Be sure other threads are released if waiting */
1523 queue_clear(&pcmrec_queue);
1524 flush_interrupts = 0;
1525 usb_acknowledge(SYS_USB_CONNECTED_ACK); 1521 usb_acknowledge(SYS_USB_CONNECTED_ACK);
1526 usb_wait_for_disconnect(&pcmrec_queue); 1522 usb_wait_for_disconnect(&pcmrec_queue);
1523 flush_interrupts = 0;
1527 break; 1524 break;
1528 } /* end switch */ 1525 } /* end switch */
1529
1530 queue_reply(&pcmrec_queue, 0);
1531 } /* end while */ 1526 } /* end while */
1532} /* pcmrec_thread */ 1527} /* pcmrec_thread */
1533 1528