diff options
author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2009-01-21 20:52:35 +0000 |
---|---|---|
committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2009-01-21 20:52:35 +0000 |
commit | 868a4bdbc3f08a7c9d26a84bb67a5b3e083ffcec (patch) | |
tree | 0b3c94889bdcecb6648bdf72aa2a6c6d8dba5738 /firmware/usbstack/usb_storage.c | |
parent | ae351903a65393477f061a2eb934c8d8a6a605a6 (diff) | |
download | rockbox-868a4bdbc3f08a7c9d26a84bb67a5b3e083ffcec.tar.gz rockbox-868a4bdbc3f08a7c9d26a84bb67a5b3e083ffcec.zip |
Fix RAM disk when no audio buffer is available
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19814 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usbstack/usb_storage.c')
-rw-r--r-- | firmware/usbstack/usb_storage.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index f8d8f4b3ff..85499c1bbd 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c | |||
@@ -403,6 +403,10 @@ void usb_storage_init_connection(void) | |||
403 | static unsigned char _transfer_buffer[BUFFER_SIZE*2] | 403 | static unsigned char _transfer_buffer[BUFFER_SIZE*2] |
404 | USB_DEVBSS_ATTR __attribute__((aligned(32))); | 404 | USB_DEVBSS_ATTR __attribute__((aligned(32))); |
405 | tb.transfer_buffer = (void *)_transfer_buffer; | 405 | tb.transfer_buffer = (void *)_transfer_buffer; |
406 | #ifdef USB_USE_RAMDISK | ||
407 | static unsigned char _ramdisk_buffer[RAMDISK_SIZE*SECTOR_SIZE]; | ||
408 | ramdisk_buffer = _ramdisk_buffer; | ||
409 | #endif | ||
406 | #else | 410 | #else |
407 | /* TODO : check if bufsize is at least 32K ? */ | 411 | /* TODO : check if bufsize is at least 32K ? */ |
408 | size_t bufsize; | 412 | size_t bufsize; |
@@ -412,10 +416,10 @@ void usb_storage_init_connection(void) | |||
412 | tb.transfer_buffer = | 416 | tb.transfer_buffer = |
413 | (void *)UNCACHED_ADDR((unsigned int)(audio_buffer + 31) & 0xffffffe0); | 417 | (void *)UNCACHED_ADDR((unsigned int)(audio_buffer + 31) & 0xffffffe0); |
414 | invalidate_icache(); | 418 | invalidate_icache(); |
415 | #endif | ||
416 | #ifdef USB_USE_RAMDISK | 419 | #ifdef USB_USE_RAMDISK |
417 | ramdisk_buffer = tb.transfer_buffer + BUFFER_SIZE*2; | 420 | ramdisk_buffer = tb.transfer_buffer + BUFFER_SIZE*2; |
418 | #endif | 421 | #endif |
422 | #endif | ||
419 | usb_drv_recv(ep_out, tb.transfer_buffer, 1024); | 423 | usb_drv_recv(ep_out, tb.transfer_buffer, 1024); |
420 | } | 424 | } |
421 | 425 | ||