forked from len0rd/rockbox
Check that core_alloc_maximum() returned something useful, and panic if not
Change-Id: I7ae40db0f81d1d51742501936b13b387f94a25e5
This commit is contained in:
parent
463d343102
commit
2a63502c09
1 changed files with 5 additions and 0 deletions
|
|
@ -35,6 +35,7 @@
|
||||||
#include "timefuncs.h"
|
#include "timefuncs.h"
|
||||||
#endif
|
#endif
|
||||||
#include "core_alloc.h"
|
#include "core_alloc.h"
|
||||||
|
#include "panic.h"
|
||||||
|
|
||||||
#ifdef USB_USE_RAMDISK
|
#ifdef USB_USE_RAMDISK
|
||||||
#define RAMDISK_SIZE 2048
|
#define RAMDISK_SIZE 2048
|
||||||
|
|
@ -460,6 +461,10 @@ void usb_storage_init_connection(void)
|
||||||
static struct buflib_callbacks dummy_ops;
|
static struct buflib_callbacks dummy_ops;
|
||||||
|
|
||||||
usb_handle = core_alloc_maximum("usb storage", &bufsize, &dummy_ops);
|
usb_handle = core_alloc_maximum("usb storage", &bufsize, &dummy_ops);
|
||||||
|
if (usb_handle < 0)
|
||||||
|
panicf("%s(): OOM", __func__);
|
||||||
|
if (bufsize < ALLOCATE_BUFFER_SIZE + MAX_CBW_SIZE + 31)
|
||||||
|
panicf("%s(): got only %d, not enough", __func__, bufsize);
|
||||||
buffer = core_get_data(usb_handle);
|
buffer = core_get_data(usb_handle);
|
||||||
#if defined(UNCACHED_ADDR) && CONFIG_CPU != AS3525
|
#if defined(UNCACHED_ADDR) && CONFIG_CPU != AS3525
|
||||||
cbw_buffer = (void *)UNCACHED_ADDR((unsigned int)(buffer+31) & 0xffffffe0);
|
cbw_buffer = (void *)UNCACHED_ADDR((unsigned int)(buffer+31) & 0xffffffe0);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue