summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2010-10-23 21:59:42 +0200
committerWolfgang Denk <wd@denx.de>2010-10-23 21:59:42 +0200
commitf2b382ea066d02d5ba44870024cc1295e85782ef (patch)
tree9891424412f40e0bbe3cb64d022597bffa301b50 /drivers
parent33a08c10c78baf67e41cd03d5732ddc338e8c2e9 (diff)
parentbfe18815e8123f4456be8b5858b2b255d7881698 (diff)
downloadu-boot-f2b382ea066d02d5ba44870024cc1295e85782ef.tar.gz
u-boot-f2b382ea066d02d5ba44870024cc1295e85782ef.tar.xz
u-boot-f2b382ea066d02d5ba44870024cc1295e85782ef.zip
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pci/fsl_pci_init.c3
-rw-r--r--drivers/pci/pci.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/pci/fsl_pci_init.c b/drivers/pci/fsl_pci_init.c
index 001e6eb900..1f021036e5 100644
--- a/drivers/pci/fsl_pci_init.c
+++ b/drivers/pci/fsl_pci_init.c
@@ -91,6 +91,9 @@ int fsl_setup_hose(struct pci_controller *hose, unsigned long addr)
{
volatile ccsr_fsl_pci_t *pci = (ccsr_fsl_pci_t *) addr;
+ /* Reset hose to make sure its in a clean state */
+ memset(hose, 0, sizeof(struct pci_controller));
+
pci_setup_indirect(hose, (u32)&pci->cfg_addr, (u32)&pci->cfg_data);
return fsl_is_pci_agent(hose);
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index cd64a87fc6..848746f1ed 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -139,7 +139,7 @@ void *pci_map_bar(pci_dev_t pdev, int bar, int flags)
*
*/
-static struct pci_controller* hose_head = NULL;
+static struct pci_controller* hose_head;
void pci_register_hose(struct pci_controller* hose)
{
@@ -640,6 +640,8 @@ void pci_init(void)
}
#endif /* CONFIG_PCI_BOOTDELAY */
+ hose_head = NULL;
+
/* now call board specific pci_init()... */
pci_init_board();
}