diff options
Diffstat (limited to 'firmware/target/arm/as3525')
-rw-r--r-- | firmware/target/arm/as3525/usb-drv-as3525.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/firmware/target/arm/as3525/usb-drv-as3525.c b/firmware/target/arm/as3525/usb-drv-as3525.c index 01fae5f0ab..8369edc400 100644 --- a/firmware/target/arm/as3525/usb-drv-as3525.c +++ b/firmware/target/arm/as3525/usb-drv-as3525.c | |||
@@ -412,12 +412,12 @@ void usb_drv_cancel_all_transfers(void) | |||
412 | restore_irq(flags); | 412 | restore_irq(flags); |
413 | } | 413 | } |
414 | 414 | ||
415 | int usb_drv_recv(int ep, void *ptr, int len) | 415 | int usb_drv_recv_nonblocking(int ep, void *ptr, int len) |
416 | { | 416 | { |
417 | struct usb_dev_dma_desc *uc_desc = endpoints[ep][1].uc_desc; | 417 | struct usb_dev_dma_desc *uc_desc = endpoints[ep][1].uc_desc; |
418 | 418 | ||
419 | ep &= 0x7f; | 419 | ep &= 0x7f; |
420 | logf("usb_drv_recv(%d,%x,%d)\n", ep, (int)ptr, len); | 420 | logf("usb_drv_recv_nonblocking(%d,%x,%d)\n", ep, (int)ptr, len); |
421 | 421 | ||
422 | if (len > USB_DMA_DESC_RXTX_BYTES) | 422 | if (len > USB_DMA_DESC_RXTX_BYTES) |
423 | panicf("usb_recv: len=%d > %d", len, USB_DMA_DESC_RXTX_BYTES); | 423 | panicf("usb_recv: len=%d > %d", len, USB_DMA_DESC_RXTX_BYTES); |
@@ -674,7 +674,8 @@ static void handle_out_ep(int ep) | |||
674 | * The usb_storage buffer is 63KB, but Linux sends 120KB. | 674 | * The usb_storage buffer is 63KB, but Linux sends 120KB. |
675 | * We get the first part, but upon re-enabling receive dma we | 675 | * We get the first part, but upon re-enabling receive dma we |
676 | * get a 'buffer not available' error from the hardware, since | 676 | * get a 'buffer not available' error from the hardware, since |
677 | * we haven't gotten the next usb_drv_recv() from the stack yet. | 677 | * we haven't gotten the next usb_drv_recv_nonblocking() from |
678 | * the stack yet. | ||
678 | * It seems the NAK bit is ignored here and the HW tries to dma | 679 | * It seems the NAK bit is ignored here and the HW tries to dma |
679 | * the incoming data anyway. | 680 | * the incoming data anyway. |
680 | * In theory I think the BNA error should be recoverable, but | 681 | * In theory I think the BNA error should be recoverable, but |