summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2009-01-21 20:52:35 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2009-01-21 20:52:35 +0000
commit868a4bdbc3f08a7c9d26a84bb67a5b3e083ffcec (patch)
tree0b3c94889bdcecb6648bdf72aa2a6c6d8dba5738
parentae351903a65393477f061a2eb934c8d8a6a605a6 (diff)
downloadrockbox-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
-rw-r--r--firmware/usbstack/usb_storage.c6
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)
static unsigned char _transfer_buffer[BUFFER_SIZE*2]
USB_DEVBSS_ATTR __attribute__((aligned(32)));
tb.transfer_buffer = (void *)_transfer_buffer;
+#ifdef USB_USE_RAMDISK
+ static unsigned char _ramdisk_buffer[RAMDISK_SIZE*SECTOR_SIZE];
+ ramdisk_buffer = _ramdisk_buffer;
+#endif
#else
/* TODO : check if bufsize is at least 32K ? */
size_t bufsize;
@@ -412,10 +416,10 @@ void usb_storage_init_connection(void)
tb.transfer_buffer =
(void *)UNCACHED_ADDR((unsigned int)(audio_buffer + 31) & 0xffffffe0);
invalidate_icache();
-#endif
#ifdef USB_USE_RAMDISK
ramdisk_buffer = tb.transfer_buffer + BUFFER_SIZE*2;
#endif
+#endif
usb_drv_recv(ep_out, tb.transfer_buffer, 1024);
}