projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix crash on sequoia in ppc_4xx_eth_init
[oweals/u-boot.git]
/
common
/
usb.c
diff --git
a/common/usb.c
b/common/usb.c
index b1b7aec621a013b2ce4237038bd30bf2ee4d5d28..4df01eabe513163eeb80475f9495b72ea504ac80 100644
(file)
--- a/
common/usb.c
+++ b/
common/usb.c
@@
-49,11
+49,11
@@
#include <asm/processor.h>
#include <linux/ctype.h>
#include <asm/processor.h>
#include <linux/ctype.h>
-#if
(CONFIG_COMMANDS & CF
G_CMD_USB)
+#if
defined(CONFI
G_CMD_USB)
#include <usb.h>
#ifdef CONFIG_4xx
#include <usb.h>
#ifdef CONFIG_4xx
-#include <
405gp
_pci.h>
+#include <
asm/4xx
_pci.h>
#endif
#undef USB_DEBUG
#endif
#undef USB_DEBUG
@@
-72,6
+72,8
@@
static int running;
static int asynch_allowed;
static struct devrequest setup_packet;
static int asynch_allowed;
static struct devrequest setup_packet;
+char usb_started; /* flag for the started/stopped USB status */
+
/**********************************************************************
* some forward declerations...
*/
/**********************************************************************
* some forward declerations...
*/
@@
-110,10
+112,12
@@
int usb_init(void)
printf("scanning bus for devices... ");
running=1;
usb_scan_devices();
printf("scanning bus for devices... ");
running=1;
usb_scan_devices();
+ usb_started = 1;
return 0;
}
else {
printf("Error, couldn't init Lowlevel part\n");
return 0;
}
else {
printf("Error, couldn't init Lowlevel part\n");
+ usb_started = 0;
return -1;
}
}
return -1;
}
}
@@
-124,6
+128,7
@@
int usb_init(void)
int usb_stop(void)
{
asynch_allowed=1;
int usb_stop(void)
{
asynch_allowed=1;
+ usb_started = 0;
usb_hub_reset();
return usb_lowlevel_stop();
}
usb_hub_reset();
return usb_lowlevel_stop();
}
@@
-1242,6
+1247,6
@@
int usb_hub_probe(struct usb_device *dev, int ifnum)
return ret;
}
return ret;
}
-#endif
/* (CONFIG_COMMANDS & CFG_CMD_USB) */
+#endif
/* EOF */
/* EOF */