diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/usbstack/usb_storage.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c index a3b867319d..a439ad4bf0 100644 --- a/firmware/usbstack/usb_storage.c +++ b/firmware/usbstack/usb_storage.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include "timefuncs.h" | 35 | #include "timefuncs.h" |
36 | #endif | 36 | #endif |
37 | #include "core_alloc.h" | 37 | #include "core_alloc.h" |
38 | #include "panic.h" | ||
38 | 39 | ||
39 | #ifdef USB_USE_RAMDISK | 40 | #ifdef USB_USE_RAMDISK |
40 | #define RAMDISK_SIZE 2048 | 41 | #define RAMDISK_SIZE 2048 |
@@ -460,6 +461,10 @@ void usb_storage_init_connection(void) | |||
460 | static struct buflib_callbacks dummy_ops; | 461 | static struct buflib_callbacks dummy_ops; |
461 | 462 | ||
462 | usb_handle = core_alloc_maximum("usb storage", &bufsize, &dummy_ops); | 463 | usb_handle = core_alloc_maximum("usb storage", &bufsize, &dummy_ops); |
464 | if (usb_handle < 0) | ||
465 | panicf("%s(): OOM", __func__); | ||
466 | if (bufsize < ALLOCATE_BUFFER_SIZE + MAX_CBW_SIZE + 31) | ||
467 | panicf("%s(): got only %d, not enough", __func__, bufsize); | ||
463 | buffer = core_get_data(usb_handle); | 468 | buffer = core_get_data(usb_handle); |
464 | #if defined(UNCACHED_ADDR) && CONFIG_CPU != AS3525 | 469 | #if defined(UNCACHED_ADDR) && CONFIG_CPU != AS3525 |
465 | cbw_buffer = (void *)UNCACHED_ADDR((unsigned int)(buffer+31) & 0xffffffe0); | 470 | cbw_buffer = (void *)UNCACHED_ADDR((unsigned int)(buffer+31) & 0xffffffe0); |