forked from len0rd/rockbox
Sansa AMSv2: don't panic if microsd init failed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31254 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
5b8ed62922
commit
b366d63f03
1 changed files with 3 additions and 7 deletions
|
@ -600,7 +600,7 @@ static void sd_thread(void)
|
||||||
case SYS_HOTSWAP_INSERTED:
|
case SYS_HOTSWAP_INSERTED:
|
||||||
case SYS_HOTSWAP_EXTRACTED:
|
case SYS_HOTSWAP_EXTRACTED:
|
||||||
{
|
{
|
||||||
int microsd_init = 1;
|
int changed = 1;
|
||||||
fat_lock(); /* lock-out FAT activity first -
|
fat_lock(); /* lock-out FAT activity first -
|
||||||
prevent deadlocking via disk_mount that
|
prevent deadlocking via disk_mount that
|
||||||
would cause a reverse-order attempt with
|
would cause a reverse-order attempt with
|
||||||
|
@ -620,18 +620,14 @@ static void sd_thread(void)
|
||||||
if (ev.id == SYS_HOTSWAP_INSERTED)
|
if (ev.id == SYS_HOTSWAP_INSERTED)
|
||||||
{
|
{
|
||||||
sd_enable(true);
|
sd_enable(true);
|
||||||
microsd_init = sd_init_card(SD_SLOT_AS3525);
|
changed = (sd_init_card(SD_SLOT_AS3525) == 0) && disk_mount(SD_SLOT_AS3525); /* 0 if fail */
|
||||||
if (microsd_init < 0) /* initialisation failed */
|
|
||||||
panicf("microSD init failed : %d", microsd_init);
|
|
||||||
|
|
||||||
microsd_init = disk_mount(SD_SLOT_AS3525); /* 0 if fail */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mount succeeded, or this was an EXTRACTED event,
|
* Mount succeeded, or this was an EXTRACTED event,
|
||||||
* in both cases notify the system about the changed filesystems
|
* in both cases notify the system about the changed filesystems
|
||||||
*/
|
*/
|
||||||
if (microsd_init)
|
if (changed)
|
||||||
queue_broadcast(SYS_FS_CHANGED, 0);
|
queue_broadcast(SYS_FS_CHANGED, 0);
|
||||||
|
|
||||||
sd_enable(false);
|
sd_enable(false);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue