aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm47xx/patches-4.14/610-pci_ide_fix.patch
blob: ccae6a59881bb2373d0d8d136b38709dde1a5579 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
From: b.sander
Subject: [PATCH] pci: IDE fix

These are standard probing messages when using pdc202xx_old:
pdc202xx_old 0000:00:01.0: IDE controller (0x105a:0x0d30 rev 0x02)
PCI: Enabling device 0000:00:01.0 (0004 -> 0007)
PCI: Fixing up device 0000:00:01.0
0000:00:01.0: (U)DMA Burst Bit DISABLED Primary PCI Mode Secondary PCI Mode.
0000:00:01.0: FORCING BURST BIT 0x00->0x01 ACTIVE
pdc202xx_old 0000:00:01.0: 100% native mode on irq 6

With the default MAX_HWIFS value after above we get:
    ide2: BM-DMA at 0x0400-0x0407
    ide3: BM-DMA at 0x0408-0x040f
Probing IDE interface ide2...
hde: CF500, CFA DISK drive

As you can see it's ide2 + ide3 and hde.

With this patch applied we get:
    ide0: BM-DMA at 0x0400-0x0407
    ide1: BM-DMA at 0x0408-0x040f
Probing IDE interface ide0...
hda: CF500, CFA DISK drive

This fixes OpenWrt ticket #7061: https://dev.openwrt.org/ticket/7061
---
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -241,7 +241,11 @@ static inline void ide_std_init_ports(st
 	hw->io_ports.ctl_addr = ctl_addr;
 }
 
+#if defined CONFIG_BCM47XX
+# define MAX_HWIFS	2
+#else
 #define MAX_HWIFS	10
+#endif
 
 /*
  * Now for the data we need to maintain per-drive:  ide_drive_t