diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-11-16 03:11:30 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-11-16 03:11:30 +0000 | 
| commit | 4f7e54d66e9cc4545a214610b27e451e07eed4b1 (patch) | |
| tree | 899219032b19dbf4e0604a3c84be5a2d12f8b14d | |
| parent | 547c09c6fa70494bcb90e7f3a6c631934b640154 (diff) | |
fix wl-700gE ide init (patch by biblbroks, fixes #2686)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9560 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | target/linux/brcm47xx/patches-2.6.23/410-aec62xx_pci_enable.patch | 32 | 
1 files changed, 32 insertions, 0 deletions
| diff --git a/target/linux/brcm47xx/patches-2.6.23/410-aec62xx_pci_enable.patch b/target/linux/brcm47xx/patches-2.6.23/410-aec62xx_pci_enable.patch new file mode 100644 index 000000000..ae2be766f --- /dev/null +++ b/target/linux/brcm47xx/patches-2.6.23/410-aec62xx_pci_enable.patch @@ -0,0 +1,32 @@ +diff -Naur a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c +--- a/drivers/ide/pci/aec62xx.c	2007-10-12 18:43:44.000000000 +0200 ++++ b/drivers/ide/pci/aec62xx.c	2007-11-14 14:12:51.000000000 +0100 +@@ -248,7 +248,14 @@ +  + static int __devinit init_setup_aec6x80(struct pci_dev *dev, ide_pci_device_t *d) + { +-	unsigned long dma_base = pci_resource_start(dev, 4); ++	unsigned long dma_base; ++	int err; ++ ++	err = pci_enable_device(dev); ++	if (err) ++		return err; ++ ++	dma_base = pci_resource_start(dev, 4); +  + 	if (inb(dma_base + 2) & 0x10) { + 		d->name = (dev->device == PCI_DEVICE_ID_ARTOP_ATP865R) ? +@@ -256,7 +263,11 @@ + 		d->udma_mask = 0x7f; /* udma0-6 */ + 	} +  +-	return ide_setup_pci_device(dev, d); ++	err = ide_setup_pci_device(dev, d); ++	if(err) ++		pci_disable_device(dev); ++ ++	return err; + } +  + static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | 
