* Ultra1 ESP detection problem
@ 2009-03-13 22:24 Meelis Roos
2009-03-13 22:35 ` David Miller
` (14 more replies)
0 siblings, 15 replies; 16+ messages in thread
From: Meelis Roos @ 2009-03-13 22:24 UTC (permalink / raw)
To: sparclinux
This is an Ultra 1 SBus (non-enterprise), having onboard SCSI, sbus card
with esp scsi and hme (FASHME) and a qlogic pti sbus card with scsi.
Boot disk is attached to onboard scsi. 2.6.26 and earlier kernels detect
all the scsi buses fine, 2.6.27 and 2.6.28 not yet tested, 2.6.29-rc8
fails to detect the onboard scsi (esp: probe of f0062a74 failed with
error -12).
Where to look next? Test 2.6.28? Instrument esp probing?
2.6.29-rc8:
[ 60.565134] esp: probe of f0062a74 failed with error -12
[ 60.628587] esp: esp0, regs[1ff08810000:1ff08800000] irq[14]
[ 60.695018] esp: esp0 is a FASHME, 40 MHz (ccf=0), SCSI ID 7
[ 63.763523] scsi1 : esp
[ 67.307906] Driver 'sd' needs updating - please use bus_type methods
2.6.26-1-sparc64 debian kernel:
[ 86.124210] SCSI subsystem initialized
[ 86.320457] esp: esp0, regs[1ffe8800000:1ffe8400000] irq[10]
[ 86.509902] esp: esp0 is a FAS100A, 40 MHz (ccf=0), SCSI ID 7
[ 89.702355] scsi0 : esp
[ 89.816311] esp: esp1, regs[1ff08810000:1ff08800000] irq[14]
[ 90.004080] esp: esp1 is a FASHME, 40 MHz (ccf=0), SCSI ID 7
[ 90.193412] scsi 0:0:0:0: Direct-Access MAXTOR ATLAS10K4_36SCA DFV0 PQ: 0 ANSI: 3
[ 90.507337] target0:0:0: Beginning Domain Validation
[ 90.683775] target0:0:0: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 15)
[ 90.895837] target0:0:0: Domain Validation skipping write tests
[ 91.091994] target0:0:0: Ending Domain Validation
[ 92.435361] scsi 0:0:6:0: CD-ROM TOSHIBA XM-5401TASUN4XCD 2565 PQ: 0 ANSI: 2
[ 92.749263] target0:0:6: Beginning Domain Validation
[ 92.937355] target0:0:6: FAST-5 SCSI 4.2 MB/s ST (236 ns, offset 15)
[ 93.151292] target0:0:6: Domain Validation skipping write tests
[ 93.347395] target0:0:6: Ending Domain Validation
[ 93.515353] scsi1 : esp
[ 94.968095] Driver 'sd' needs updating - please use bus_type methods
[ 95.244694] Driver 'sr' needs updating - please use bus_type methods
[ 95.460045] sd 0:0:0:0: [sda] 71833096 512-byte hardware sectors (36779 MB)
[ 95.698148] sd 0:0:0:0: [sda] Write Protect is off
[ 95.865057] sd 0:0:0:0: [sda] Mode Sense: ed 00 10 08
[ 95.876992] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
[ 96.220106] sd 0:0:0:0: [sda] 71833096 512-byte hardware sectors (36779 MB)
[ 96.452241] sd 0:0:0:0: [sda] Write Protect is off
[ 96.619231] sd 0:0:0:0: [sda] Mode Sense: ed 00 10 08
[ 96.631215] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
[ 96.957698] sda: sda1 sda2 sda3 sda4
[ 97.209625] sd 0:0:0:0: [sda] Attached SCSI disk
[ 97.399887] sr0: scsi-1 drive
[ 97.523007] Uniform CD-ROM driver Revision: 3.20
[ 97.687590] sr 0:0:6:0: Attached scsi CD-ROM sr0
[ 97.741514] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 97.921258] sr 0:0:6:0: Attached scsi generic sg1 type 5
prtconf -pv under 2.6.26-1-sparc64:
System Configuration: Sun Microsystems sun4u
Memory size: 832 Megabytes
System Peripherals (PROM Nodes):
Node 0xf0029970
.node: f0029970
energystar-v2:
idprom: 01800800.20886d6a.00000000.886d6aa9.00000000.00000000.10000000.00000000
reset-reason: 'S-POR'
breakpoint-trap: 0000007f
#size-cells: 00000002
model: 'SUNW,501-2836'
name: 'SUNW,Ultra-1'
clock-frequency: 0442ddd7
banner-name: 'Sun Ultra 1 SBus (UltraSPARC 143MHz)'
device_type: 'upa'
Node 0xf002cbb4
.node: f002cbb4
name: 'packages'
Node 0xf0033d38
.node: f0033d38
iso6429-1983-colors:
name: 'terminal-emulator'
Node 0xf0036a74
.node: f0036a74
disk-write-fix:
name: 'deblocker'
Node 0xf0037150
.node: f0037150
name: 'obp-tftp'
Node 0xf0041f10
.node: f0041f10
name: 'disk-label'
Node 0xf005fc58
.node: f005fc58
name: 'sun-keyboard'
Node 0xf002cc24
.node: f002cc24
stdout: fffe6040
stdin: fffe6228
mmu: fffe8438
memory: fffe8638
bootargs: 00
bootpath: '/sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@0,0:a'
stdout-#lines: ffffffff
name: 'chosen'
Node 0xf002cc90
.node: f002cc90
version: 'OBP 3.35.0 2004/04/19 12:15'
model: 'SUNW,3.35'
decode-complete:
aligned-allocator:
relative-addressing:
name: 'openprom'
Node 0xf002cd20
.node: f002cd20
name: 'client-services'
Node 0xf002cdc8
.node: f002cdc8
tpe-link-test?: 'true'
scsi-initiator-id: '7'
keyboard-click?: 'false'
keymap:
sbus-probe-list: '012'
ttyb-rts-dtr-off: 'false'
ttyb-ignore-cd: 'true'
ttya-rts-dtr-off: 'false'
ttya-ignore-cd: 'true'
ttyb-mode: '9600,8,n,1,-'
ttya-mode: '9600,8,n,1,-'
mfg-mode: 'off'
diag-level: 'max'
#power-cycles: '1185'
system-board-serial#: '5013051005142'
system-board-date: '33a6c68b'
fcode-debug?: 'false'
output-device: 'ttya'
input-device: 'ttya'
load-base: '16384'
boot-command: 'boot'
auto-boot?: 'true'
watchdog-reboot?: 'true'
diag-file:
diag-device: 'net'
boot-file:
boot-device: 'disk net'
local-mac-address?: 'false'
ansi-terminal?: 'true'
screen-#columns: '80'
screen-#rows: '34'
silent-mode?: 'false'
use-nvramrc?: 'false'
nvramrc:
security-mode: 'none'
security-password:
security-#badlogins: '0'
oem-logo:
oem-logo?: 'false'
oem-banner:
oem-banner?: 'false'
hardware-revision:
last-hardware-update:
diag-switch?: 'false'
name: 'options'
Node 0xf002ce38
.node: f002ce38
net-aui: '/sbus/ledma@e,8400010:aui/le@e,8c00000'
net-tpe: '/sbus/ledma@e,8400010:tpe/le@e,8c00000'
net: '/sbus/ledma@e,8400010/le@e,8c00000'
disk: '/sbus/espdma@e,8400000/esp@e,8800000/sd@0,0'
cdrom: '/sbus/espdma@e,8400000/esp@e,8800000/sd@6,0:f'
tape: '/sbus/espdma@e,8400000/esp@e,8800000/st@4,0'
tape1: '/sbus/espdma@e,8400000/esp@e,8800000/st@5,0'
tape0: '/sbus/espdma@e,8400000/esp@e,8800000/st@4,0'
disk6: '/sbus/espdma@e,8400000/esp@e,8800000/sd@6,0'
disk5: '/sbus/espdma@e,8400000/esp@e,8800000/sd@5,0'
disk4: '/sbus/espdma@e,8400000/esp@e,8800000/sd@4,0'
disk3: '/sbus/espdma@e,8400000/esp@e,8800000/sd@3,0'
disk2: '/sbus/espdma@e,8400000/esp@e,8800000/sd@2,0'
disk1: '/sbus/espdma@e,8400000/esp@e,8800000/sd@1,0'
disk0: '/sbus/espdma@e,8400000/esp@e,8800000/sd@0,0'
scsi: '/sbus/espdma@e,8400000/esp@e,8800000'
floppy: '/sbus/SUNW,fdtwo'
ttyb: '/sbus/zs@f,1100000:b'
ttya: '/sbus/zs@f,1100000:a'
keyboard!: '/sbus/zs@f,1000000:forcemode'
keyboard: '/sbus/zs@f,1000000'
name: 'aliases'
Node 0xf004cadc
.node: f004cadc
reg: 00000000.00000000.00000000.10000000.00000000.10000000.00000000.10000000.00000000.20000000.00000000.10000000.00000000.30000000.00000000.04000000
available: 00000000.33f3c000.00000000.00014000.00000000.33f00000.00000000.00036000.00000000.00000000.00000000.33efe000
name: 'memory'
Node 0xf004d0bc
.node: f004d0bc
translations: 00000000.fffe0000.00000000.00010000.80000000.33f700b6.00000000.fffd8000.00000000.00008000.80000000.33f600b6.00000000.fffcc000.00000000.00008000.800001fe.0000008e.00000000.fffc8000.00000000.00004000.80000000.33f5c0b6.00000000.fffc6000.00000000.00002000.800001fe.0000208e.00000000.fffc4000.00000000.00002000.800001fe.0000208e.00000000.fffc2000.00000000.00002000.800001fe.0000208e.00000000.fffc0000.00000000.00002000.800001ff.f120008e.00000000.fffbe000.00000000.00002000.800001ff.f120008e.00000000.fffbc000.00000000.00002000.800001ff.f130008e.00000000.fffba000.00000000.00002000.800001ff.f190008e.00000000.fffb8000.00000000.00002000.800001ff.f100008e.00000000.fffb6000.00000000.00002000.80000000.33efe0b6.00000000.fffb4000.00000000.00002000.80000000.33f580b6.00000000.fffb2000.00000000.00002000.800001ff.f140008e.00000000.fffb0000.00000000.00002000.800001ff.f110008e.00000000.fffa0000.00000000.00002000.80000000.33f560b6.00000000.f0080000.00000000.00002000.80000000.33f5
40b6.00000000.f0000000.00000000.00080000.80000000.33f800b6.00000000.40000000.00000000.00800000.80000000.00400036.00000000.00002000.00000000.009fe000.80000000.00002036
existing: 00000000.00000000.00000800.00000000.fffff800.00000000.00000800.00000000
available: fffff800.00000000.000007fc.00000000.00000001.00000000.000007ff.00000000.00000000.ffff0000.00000000.0000e000.00000000.00000000.00000000.f0000000.00000000.fffa2000.00000000.0000e000.00000000.fff00000.00000000.000a0000.00000000.f0800000.00000000.0e800000
page-size: 00002000
name: 'virtual-memory'
Node 0xf00595dc
.node: f00595dc
address: fffc7c00.fffc5860.fffc3060
interrupts: 000007f0.000007f1
reg: 000001fe.00003c00.00000000.00000020.000001fe.00003860.00000000.00000010.000001fe.00003060.00000000.00000010
name: 'counter-timer'
Node 0xf0059940
.node: f0059940
scsi-initiator-id: 00000007
version#: 00000001
implementation#: 00000000
address: fffcc000
interrupts: 000007f4.000007f5.000007f6.000007e5.000007ea.000007f7
ranges: 00000000.00000000.000001ff.00000000.10000000.00000001.00000000.000001ff.10000000.10000000.00000002.00000000.000001ff.20000000.10000000.00000003.00000000.000001ff.30000000.10000000.0000000d.00000000.000001ff.d0000000.10000000.0000000e.00000000.000001ff.e0000000.10000000.0000000f.00000000.000001ff.f0000000.10000000
reg: 000001fe.00000000.00000000.00008000
slot-address-bits: 0000001c
up-burst-sizes: 0078007f
burst-sizes: 00f8007f
device_type: 'sbus'
name: 'sbus'
model: 'SUNW,sysio'
thermal-interrupt:
bus-parity-generated:
upa-portid: 0000001f
clock-frequency: 017d7840
Node 0xf0059e44
.node: f0059e44
internal-loopback:
dma-model: 'apcdma'
interrupts: 00000024
reg: 0000000d.0c000000.00000200
name: 'SUNW,CS4231'
Node 0xf0059f50
.node: f0059f50
address: fffba000
reg: 0000000f.01900000.00000001
name: 'auxio'
Node 0xf0059fe0
.node: f0059fe0
version: 4f425020.332e3335.2e302032.3030342f.30342f31.39203132.3a313500.504f5354.20332e31.302e3620.31393936.2f31302f.31382031.303a3139.00
model: 'SUNW,525-1410'
reg: 0000000f.00000000.00080000.0000000f.01380000.00080000
name: 'flashprom'
Node 0xf005a0a8
.node: f005a0a8
status: 'disabled'
device_type: 'block'
interrupts: 00000029
reg: 0000000f.01400000.00000008
name: 'SUNW,fdtwo'
Node 0xf005a1dc
.node: f005a1dc
address: fffbe000
reg: 0000000f.01200000.00002000
model: 'mk48t59'
name: 'eeprom'
Node 0xf005a290
.node: f005a290
port-b-ignore-cd:
port-a-ignore-cd:
reg: 0000000f.01100000.00000004
interrupts: 00000028
device_type: 'serial'
name: 'zs'
Node 0xf005b730
.node: f005b730
reg: 0000000f.01000000.00000004
interrupts: 00000028
port-b-ignore-cd:
port-a-ignore-cd:
keyboard:
device_type: 'serial'
name: 'zs'
Node 0xf005d18c
.node: f005d18c
address: fffbc000
model: 'SUNW,sc-up'
reg: 0000000f.01300000.00000008
name: 'sc'
Node 0xf005d240
.node: f005d240
freq-syn: 'MC12429'
reg: 0000000f.01304000.00000003
name: 'SUNW,pll'
Node 0xf0062784
.node: f0062784
reg: 0000000e.08400000.00000010
name: 'espdma'
Node 0xf0062a74
.node: f0062a74
device_type: 'scsi'
clock-frequency: 02625a00
interrupts: 00000020
reg: 0000000e.08800000.00000040
name: 'esp'
Node 0xf0065348
.node: f0065348
device_type: 'block'
name: 'sd'
Node 0xf0065e54
.node: f0065e54
device_type: 'byte'
name: 'st'
Node 0xf0066ae4
.node: f0066ae4
burst-sizes: 0000003f
reg: 0000000e.08400010.00000020
name: 'ledma'
Node 0xf006707c
.node: f006707c
device_type: 'network'
busmaster-regval: 00000007
interrupts: 00000021
reg: 0000000e.08c00000.00000004
name: 'le'
Node 0xf0069908
.node: f0069908
reg: 0000000e.0c800000.0000001c
interrupts: 00000022
name: 'SUNW,bpp'
Node 0xf006be34
.node: f006be34
hm-rev: 00000022
model: 'SUNW,501-2739'
device_type: 'network'
intr: 00000004.00000000
interrupts: 00000004
address-bits: 00000030
max-frame-size: 00004000
reg: 00000000.08c00000.00000108.00000000.08c02000.00002000.00000000.08c04000.00002000.00000000.08c06000.00002000.00000000.08c07000.00000020
name: 'SUNW,hme'
Node 0xf00735ac
.node: f00735ac
hm-rev: 00000022
device_type: 'scsi'
clock-frequency: 02625a00
intr: 00000003.00000000
interrupts: 00000003
reg: 00000000.08800000.00000010.00000000.08810000.00000040
name: 'SUNW,fas'
Node 0xf007831c
.node: f007831c
device_type: 'block'
name: 'sd'
Node 0xf0078bd8
.node: f0078bd8
device_type: 'byte'
name: 'st'
Node 0xf00798c4
.node: f00798c4
scsi-initiator-id: 00000007
isp-fcode: '1.21 95/05/18'
device_type: 'scsi'
intr: 00000003.00000000
interrupts: 00000003
wide: 00
clock-frequency: 02625a00
reg: 00000001.00010000.00000450
64-bit-clean: 00
model: 'QLGC,ISP1000'
name: 'QLGC,isp'
Node 0xf007f130
.node: f007f130
device_type: 'block'
name: 'sd'
Node 0xf007f944
.node: f007f944
device_type: 'byte'
name: 'st'
Node 0xf006b9d0
.node: f006b9d0
manufacturer#: 00000017
implementation#: 00000010
mask#: 00000040
sparc-version: 00000009
ecache-associativity: 00000001
ecache-line-size: 00000040
ecache-size: 00080000
#dtlb-entries: 00000040
dcache-associativity: 00000001
dcache-line-size: 00000020
dcache-size: 00004000
#itlb-entries: 00000040
icache-associativity: 00000002
icache-line-size: 00000020
icache-size: 00004000
upa-portid: 00000000
clock-frequency: 0885bbae
reg: 000001c0.00000000.00000000.00000008
device_type: 'cpu'
name: 'SUNW,UltraSPARC'
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
@ 2009-03-13 22:35 ` David Miller
2009-03-13 22:40 ` Meelis Roos
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: David Miller @ 2009-03-13 22:35 UTC (permalink / raw)
To: sparclinux
From: Meelis Roos <mroos@linux.ee>
Date: Sat, 14 Mar 2009 00:24:31 +0200 (EET)
> This is an Ultra 1 SBus (non-enterprise), having onboard SCSI, sbus card
> with esp scsi and hme (FASHME) and a qlogic pti sbus card with scsi.
> Boot disk is attached to onboard scsi. 2.6.26 and earlier kernels detect
> all the scsi buses fine, 2.6.27 and 2.6.28 not yet tested, 2.6.29-rc8
> fails to detect the onboard scsi (esp: probe of f0062a74 failed with
> error -12).
host = scsi_host_alloc(tpnt, sizeof(struct esp));
err = -ENOMEM;
if (!host)
goto fail;
This is what's failing since -12 is -ENOMEM.
Can you try to bisect this down or similar? I really
can guarentee you that I have to delete this report since
I'm so backlogged I won't get to it for a very long time.
Thanks.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
2009-03-13 22:35 ` David Miller
@ 2009-03-13 22:40 ` Meelis Roos
2009-03-14 14:43 ` Friedrich Oslage
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Meelis Roos @ 2009-03-13 22:40 UTC (permalink / raw)
To: sparclinux
> Can you try to bisect this down or similar? I really
OK, will do.
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
2009-03-13 22:35 ` David Miller
2009-03-13 22:40 ` Meelis Roos
@ 2009-03-14 14:43 ` Friedrich Oslage
2009-03-14 21:14 ` David Miller
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Friedrich Oslage @ 2009-03-14 14:43 UTC (permalink / raw)
To: sparclinux
[-- Attachment #1: Type: text/plain, Size: 854 bytes --]
Meelis Roos schrieb:
> [ 60.565134] esp: probe of f0062a74 failed with error -12
I can reproduce this on my Ultra 2. I didn't notice it until now because
the boot disk is attached to an hme esp(which still works).
In esp_sbus_map_regs the of_ioremap call failes because res->start is 0
for non hme cards.
Basicly your tree looks like this:
SUNW,Ultra-1
sbus
SUNW,fas
espdma
esp
Of_bus_sbus_match works for "SUNW,fas" but not for "esp" because it only
checks the direct parent and not the parent's parent for name == "sbus".
This makes the kernel use of_bus_default_count_cells to calculate the
resources for "esp" instead of of_bus_sbus_count_cells.
And since of_bus_default_count_cells doesn't work for sbus systems the
resources of "esp" aren't detected.
I attached a patch, let me know if it works for you.
Cheers,
Friedrich
[-- Attachment #2: of_bus_sbus_match.patch --]
[-- Type: text/x-patch, Size: 2281 bytes --]
sparc: of_bus_sbus_match must also check the parent's parents.
To determine wheter the bus is sbus not only the direct parent but all the
parents of the parent must be checked, too.
In a tree like this
SUNW,Ultra-2
sbus
SUNW,hme
SUNW,fas
dma/espdma
esp
only checking the direct parent would make of_match_bus use
of_bus_default_count_cells for "esp", instead of the desired
of_bus_sbus_count_cells, and return an incorrect cell count. Which, in this
case, would make allocating resources for "esp" fail.
Reported-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: Friedrich Oslage <bluebird@gentoo.org>
---
arch/sparc/kernel/of_device_32.c | 13 +++++++++++--
arch/sparc/kernel/of_device_64.c | 13 +++++++++++--
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/arch/sparc/kernel/of_device_32.c b/arch/sparc/kernel/of_device_32.c
index 0a83bd7..bee16a5 100644
--- a/arch/sparc/kernel/of_device_32.c
+++ b/arch/sparc/kernel/of_device_32.c
@@ -246,8 +246,17 @@ static unsigned long of_bus_pci_get_flags(const u32 *addr, unsigned long flags)
static int of_bus_sbus_match(struct device_node *np)
{
- return !strcmp(np->name, "sbus") ||
- !strcmp(np->name, "sbi");
+ /* return true if the direct parent or any of the parent's parents is
+ * "sbus" or "sbi"
+ */
+ struct device_node *dp = np;
+
+ do {
+ if (!strcmp(dp->name, "sbus") || !strcmp(dp->name, "sbi"))
+ return 1;
+ } while ((dp = dp->parent));
+
+ return 0;
}
static void of_bus_sbus_count_cells(struct device_node *child,
diff --git a/arch/sparc/kernel/of_device_64.c b/arch/sparc/kernel/of_device_64.c
index b4a12c9..7a27cfd 100644
--- a/arch/sparc/kernel/of_device_64.c
+++ b/arch/sparc/kernel/of_device_64.c
@@ -301,8 +301,17 @@ static unsigned long of_bus_pci_get_flags(const u32 *addr, unsigned long flags)
static int of_bus_sbus_match(struct device_node *np)
{
- return !strcmp(np->name, "sbus") ||
- !strcmp(np->name, "sbi");
+ /* return true if the direct parent or any of the parent's parents is
+ * "sbus" or "sbi"
+ */
+ struct device_node *dp = np;
+
+ do {
+ if (!strcmp(dp->name, "sbus") || !strcmp(dp->name, "sbi"))
+ return 1;
+ } while ((dp = dp->parent));
+
+ return 0;
}
static void of_bus_sbus_count_cells(struct device_node *child,
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (2 preceding siblings ...)
2009-03-14 14:43 ` Friedrich Oslage
@ 2009-03-14 21:14 ` David Miller
2009-03-14 21:42 ` Friedrich Oslage
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: David Miller @ 2009-03-14 21:14 UTC (permalink / raw)
To: sparclinux
From: Friedrich Oslage <bluebird@gentoo.org>
Date: Sat, 14 Mar 2009 15:43:07 +0100
> Meelis Roos schrieb:
> > [ 60.565134] esp: probe of f0062a74 failed with error -12
>
> I can reproduce this on my Ultra 2. I didn't notice it until now because
> the boot disk is attached to an hme esp(which still works).
>
> In esp_sbus_map_regs the of_ioremap call failes because res->start is 0
> for non hme cards.
>
> Basicly your tree looks like this:
>
> SUNW,Ultra-1
> sbus
> SUNW,fas
> espdma
> esp
>
> Of_bus_sbus_match works for "SUNW,fas" but not for "esp" because it only
> checks the direct parent and not the parent's parent for name = "sbus".
>
> This makes the kernel use of_bus_default_count_cells to calculate the
> resources for "esp" instead of of_bus_sbus_count_cells.
> And since of_bus_default_count_cells doesn't work for sbus systems the
> resources of "esp" aren't detected.
Grumble, I've fixed this already. See the patch below which has
been in the tree for a while.
We need to figure out why the logic isn't triggering properly.
commit 5280267c1dddb8d413595b87dc406624bb497946
Author: David S. Miller <davem@davemloft.net>
Date: Wed Sep 3 02:04:41 2008 -0700
sparc: Fix handling of LANCE and ESP parent nodes in of_device.c
The device nodes that sit above 'esp' and 'le' on SBUS lack a 'ranges'
property, but we should pass the translation up to the parent node so
that the SBUS level ranges get applied.
Based upon a bug report from Robert Reif.
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/arch/sparc/kernel/of_device.c b/arch/sparc/kernel/of_device.c
index c590148..4ef1607 100644
--- a/arch/sparc/kernel/of_device.c
+++ b/arch/sparc/kernel/of_device.c
@@ -344,6 +344,27 @@ static int __init build_one_resource(struct device_node *parent,
return 1;
}
+static int __init use_1to1_mapping(struct device_node *pp)
+{
+ /* If we have a ranges property in the parent, use it. */
+ if (of_find_property(pp, "ranges", NULL) != NULL)
+ return 0;
+
+ /* Some SBUS devices use intermediate nodes to express
+ * hierarchy within the device itself. These aren't
+ * real bus nodes, and don't have a 'ranges' property.
+ * But, we should still pass the translation work up
+ * to the SBUS itself.
+ */
+ if (!strcmp(pp->name, "dma") ||
+ !strcmp(pp->name, "espdma") ||
+ !strcmp(pp->name, "ledma") ||
+ !strcmp(pp->name, "lebuffer"))
+ return 0;
+
+ return 1;
+}
+
static int of_resource_verbose;
static void __init build_device_resources(struct of_device *op,
@@ -389,10 +410,7 @@ static void __init build_device_resources(struct of_device *op,
memcpy(addr, reg, na * 4);
- /* If the immediate parent has no ranges property to apply,
- * just use a 1<->1 mapping.
- */
- if (of_find_property(pp, "ranges", NULL) = NULL) {
+ if (use_1to1_mapping(pp)) {
result = of_read_addr(addr, na);
goto build_res;
}
diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c
index e427086..c15bcdf 100644
--- a/arch/sparc64/kernel/of_device.c
+++ b/arch/sparc64/kernel/of_device.c
@@ -438,8 +438,17 @@ static int __init use_1to1_mapping(struct device_node *pp)
/* If the parent is the dma node of an ISA bus, pass
* the translation up to the root.
+ *
+ * Some SBUS devices use intermediate nodes to express
+ * hierarchy within the device itself. These aren't
+ * real bus nodes, and don't have a 'ranges' property.
+ * But, we should still pass the translation work up
+ * to the SBUS itself.
*/
- if (!strcmp(pp->name, "dma"))
+ if (!strcmp(pp->name, "dma") ||
+ !strcmp(pp->name, "espdma") ||
+ !strcmp(pp->name, "ledma") ||
+ !strcmp(pp->name, "lebuffer"))
return 0;
/* Similarly for all PCI bridges, if we get this far
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (3 preceding siblings ...)
2009-03-14 21:14 ` David Miller
@ 2009-03-14 21:42 ` Friedrich Oslage
2009-03-15 13:23 ` Meelis Roos
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Friedrich Oslage @ 2009-03-14 21:42 UTC (permalink / raw)
To: sparclinux
David Miller schrieb:
> We need to figure out why the logic isn't triggering properly.
That's easy, because the code isn't reached :)
In build_device_resources we have
bus->count_cells(op->node, &na, &ns);
preg = of_get_property(op->node, bus->addr_prop_name, &num_reg);
which, for the esp, results in
na = 2;
ns = 2; # this should be 1 according to of_bus_sbus_count_cells
num_reg = 12;
after doing the maths
num_reg /= 4;
num_reg /= na + ns;
we end up with num_reg = 0 and the for loop is skipped.
That's why I changed of_bus_sbus_match to make cell_count return 2, 1
for the esp.
Cheers,
Friedrich
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (4 preceding siblings ...)
2009-03-14 21:42 ` Friedrich Oslage
@ 2009-03-15 13:23 ` Meelis Roos
2009-03-16 3:32 ` David Miller
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Meelis Roos @ 2009-03-15 13:23 UTC (permalink / raw)
To: sparclinux
> I attached a patch, let me know if it works for you.
It works, thank you!
[ 43.147216] esp: esp0, regs[1ffe8800000:1ffe8400000] irq[10]
[ 43.213133] esp: esp0 is a FAS100A, 40 MHz (ccf=0), SCSI ID 7
[ 46.291912] scsi0 : esp
[ 46.323301] scsi 0:0:0:0: Direct-Access MAXTOR ATLAS10K4_36SCA DFV0 PQ: 0 ANSI: 3
[ 46.418551] scsi target0:0:0: Beginning Domain Validation
[ 46.485859] scsi target0:0:0: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 15)
[ 46.568915] scsi target0:0:0: Domain Validation skipping write tests
[ 46.643444] scsi target0:0:0: Ending Domain Validation
[ 47.884605] scsi 0:0:6:0: CD-ROM TOSHIBA XM-5401TASUN4XCD 2565 PQ: 0 ANSI: 2
[ 47.979808] scsi target0:0:6: Beginning Domain Validation
[ 48.058500] scsi target0:0:6: FAST-5 SCSI 4.2 MB/s ST (236 ns, offset 15)
[ 48.145698] scsi target0:0:6: Domain Validation skipping write tests
[ 48.219925] scsi target0:0:6: Ending Domain Validation
[ 48.290452] esp: esp1, regs[1ff08810000:1ff08800000] irq[14]
[ 48.356317] esp: esp1 is a FASHME, 40 MHz (ccf=0), SCSI ID 7
[ 51.432077] scsi1 : esp
[ 54.975344] Driver 'sd' needs updating - please use bus_type methods
[ 55.051093] sd 0:0:0:0: [sda] 71833096 512-byte hardware sectors: (36.7 GB/34.2 GiB)
[ 55.144227] sd 0:0:0:0: [sda] Write Protect is off
[ 55.199693] sd 0:0:0:0: [sda] Mode Sense: ed 00 10 08
[ 55.261650] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
[ 55.364374] sd 0:0:0:0: [sda] 71833096 512-byte hardware sectors: (36.7 GB/34.2 GiB)
[ 55.457911] sd 0:0:0:0: [sda] Write Protect is off
[ 55.513420] sd 0:0:0:0: [sda] Mode Sense: ed 00 10 08
[ 55.575465] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
[ 55.677044] sda: sda1 sda2 sda3 sda4
[ 55.725075] sd 0:0:0:0: [sda] Attached SCSI disk
[ 62.519240] Driver 'sr' needs updating - please use bus_type methods
[ 63.493504] sr0: scsi-1 drive
[ 63.527163] Uniform CD-ROM driver Revision: 3.20
[ 63.583676] sr 0:0:6:0: Attached scsi CD-ROM sr0
[ 64.471604] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 64.533811] sr 0:0:6:0: Attached scsi generic sg1 type 5
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (5 preceding siblings ...)
2009-03-15 13:23 ` Meelis Roos
@ 2009-03-16 3:32 ` David Miller
2009-04-17 11:10 ` David Miller
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: David Miller @ 2009-03-16 3:32 UTC (permalink / raw)
To: sparclinux
From: Friedrich Oslage <bluebird@gentoo.org>
Date: Sat, 14 Mar 2009 22:42:56 +0100
> David Miller schrieb:
> > We need to figure out why the logic isn't triggering properly.
>
> That's easy, because the code isn't reached :)
>
> In build_device_resources we have
>
> bus->count_cells(op->node, &na, &ns);
> preg = of_get_property(op->node, bus->addr_prop_name, &num_reg);
>
> which, for the esp, results in
>
> na = 2;
> ns = 2; # this should be 1 according to of_bus_sbus_count_cells
> num_reg = 12;
>
> after doing the maths
>
> num_reg /= 4;
> num_reg /= na + ns;
>
> we end up with num_reg = 0 and the for loop is skipped.
>
> That's why I changed of_bus_sbus_match to make cell_count return 2, 1
> for the esp.
Ok, but your change will break cases where the parent between SBUS
and the child device really does translate things differently.
One such case is QFE.
Look at the qec-->qe hierarchy in the ss1000 entry of the prtconfs
GIT repo:
Node 0xffd992ec
ranges: 00000000.00000000.00000001.00030000.00004000.00000001.00000000.00000001.00034000.00004000.00000002.00000000.00000001.00038000.00004000.00000003.00000000.00000001.0003c000.00004000.00000010.00000000.00000001.00010000.00004000.00000011.00000000.00000001.00014000.00004000.00000012.00000000.00000001.00018000.00004000.00000013.00000000.00000001.0001c000.00004000
name: 'qec'
Node 0xffd9ac44
name: 'qe'
Node 0xffd9df24
name: 'qe'
Node 0xffd9e39c
name: 'qe'
Node 0xffd9e814
name: 'qe'
Your change will make the 'qe' nodes match SBUS as a bus. That's
wrong, and we need to use na = 2 and ns = 2 for this case.
So this doesn't work as a mechanism to bypass intermediate parent
nodes up to the SBUS. You need to fix this while preserving the
invariants and expectations of how this translation system works.
For now, perhaps we can add those use_1to1_mapping() checks to
of_bus_sbus_match() as a quick fix that won't break other cases like
the 'qec' mentioned above.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (6 preceding siblings ...)
2009-03-16 3:32 ` David Miller
@ 2009-04-17 11:10 ` David Miller
2009-04-19 9:16 ` Meelis Roos
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: David Miller @ 2009-04-17 11:10 UTC (permalink / raw)
To: sparclinux
From: David Miller <davem@davemloft.net>
Date: Sun, 15 Mar 2009 20:32:36 -0700 (PDT)
> Your change will make the 'qe' nodes match SBUS as a bus. That's
> wrong, and we need to use na = 2 and ns = 2 for this case.
>
> So this doesn't work as a mechanism to bypass intermediate parent
> nodes up to the SBUS. You need to fix this while preserving the
> invariants and expectations of how this translation system works.
>
> For now, perhaps we can add those use_1to1_mapping() checks to
> of_bus_sbus_match() as a quick fix that won't break other cases like
> the 'qec' mentioned above.
Ok, following through on this... Here is how I would like to
fix this bug.
sparc: Fix bus type probing for ESP and LE devices.
If there is a dummy "espdma" or "ledma" parent device above ESP scsi
or LE ethernet device nodes, we have to match the bus as SBUS.
Otherwise the address and size cell counts are wrong and we don't
calculate the final physical device resource values correctly at all.
Commit 5280267c1dddb8d413595b87dc406624bb497946 ("sparc: Fix handling
of LANCE and ESP parent nodes in of_device.c") was meant to fix this
problem, but that only influences the inner loop of
build_device_resources(). We need this logic to also kick in at the
beginning of build_device_resources() as well, when we make the first
attempt to determine the device's immediate parent bus type for 'reg'
property element extraction.
Based almost entirely upon a patch by Friedrich Oslage.
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/arch/sparc/kernel/of_device_32.c b/arch/sparc/kernel/of_device_32.c
index 0a83bd7..a7164c5 100644
--- a/arch/sparc/kernel/of_device_32.c
+++ b/arch/sparc/kernel/of_device_32.c
@@ -246,8 +246,25 @@ static unsigned long of_bus_pci_get_flags(const u32 *addr, unsigned long flags)
static int of_bus_sbus_match(struct device_node *np)
{
- return !strcmp(np->name, "sbus") ||
- !strcmp(np->name, "sbi");
+ struct device_node *dp = np;
+
+ while (dp) {
+ if (!strcmp(np->name, "sbus") ||
+ !strcmp(np->name, "sbi"))
+ return 1;
+
+ /* Have a look at use_1to1_mapping(). We're trying
+ * to match SBUS if that's the top-level bus and we
+ * don't have some intervening real bus that provides
+ * ranges based translations.
+ */
+ if (of_find_property(dp, "ranges", NULL) != NULL)
+ break;
+
+ dp = dp->parent;
+ }
+
+ return 0;
}
static void of_bus_sbus_count_cells(struct device_node *child,
diff --git a/arch/sparc/kernel/of_device_64.c b/arch/sparc/kernel/of_device_64.c
index 27381f1..734f7ba 100644
--- a/arch/sparc/kernel/of_device_64.c
+++ b/arch/sparc/kernel/of_device_64.c
@@ -300,8 +300,25 @@ static unsigned long of_bus_pci_get_flags(const u32 *addr, unsigned long flags)
static int of_bus_sbus_match(struct device_node *np)
{
- return !strcmp(np->name, "sbus") ||
- !strcmp(np->name, "sbi");
+ struct device_node *dp = np;
+
+ while (dp) {
+ if (!strcmp(np->name, "sbus") ||
+ !strcmp(np->name, "sbi"))
+ return 1;
+
+ /* Have a look at use_1to1_mapping(). We're trying
+ * to match SBUS if that's the top-level bus and we
+ * don't have some intervening real bus that provides
+ * ranges based translations.
+ */
+ if (of_find_property(dp, "ranges", NULL) != NULL)
+ break;
+
+ dp = dp->parent;
+ }
+
+ return 0;
}
static void of_bus_sbus_count_cells(struct device_node *child,
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (7 preceding siblings ...)
2009-04-17 11:10 ` David Miller
@ 2009-04-19 9:16 ` Meelis Roos
2009-04-19 10:18 ` David Miller
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: Meelis Roos @ 2009-04-19 9:16 UTC (permalink / raw)
To: sparclinux
> Ok, following through on this... Here is how I would like to
> fix this bug.
>
> sparc: Fix bus type probing for ESP and LE devices.
>
> If there is a dummy "espdma" or "ledma" parent device above ESP scsi
> or LE ethernet device nodes, we have to match the bus as SBUS.
Unfortunately it does not work, onboard ESP is still not detected on my
Ultra 1.
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (8 preceding siblings ...)
2009-04-19 9:16 ` Meelis Roos
@ 2009-04-19 10:18 ` David Miller
2009-04-21 9:16 ` David Miller
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: David Miller @ 2009-04-19 10:18 UTC (permalink / raw)
To: sparclinux
From: Meelis Roos <mroos@linux.ee>
Date: Sun, 19 Apr 2009 12:16:21 +0300 (EEST)
>> Ok, following through on this... Here is how I would like to
>> fix this bug.
>>
>> sparc: Fix bus type probing for ESP and LE devices.
>>
>> If there is a dummy "espdma" or "ledma" parent device above ESP scsi
>> or LE ethernet device nodes, we have to match the bus as SBUS.
>
> Unfortunately it does not work, onboard ESP is still not detected on my
> Ultra 1.
Thanks for testing. I'll try to figure out why it doesn't work.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (9 preceding siblings ...)
2009-04-19 10:18 ` David Miller
@ 2009-04-21 9:16 ` David Miller
2009-04-22 9:25 ` David Miller
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: David Miller @ 2009-04-21 9:16 UTC (permalink / raw)
To: sparclinux
From: Meelis Roos <mroos@linux.ee>
Date: Sun, 19 Apr 2009 12:16:21 +0300 (EEST)
>> Ok, following through on this... Here is how I would like to
>> fix this bug.
>>
>> sparc: Fix bus type probing for ESP and LE devices.
>>
>> If there is a dummy "espdma" or "ledma" parent device above ESP scsi
>> or LE ethernet device nodes, we have to match the bus as SBUS.
>
> Unfortunately it does not work, onboard ESP is still not detected on my
> Ultra 1.
Silly bug in that patch, I forgot to substitude "np" with "dp" in
the name tests that got moved into the loop.
Please try this patch instead.
Thanks!
sparc: Fix bus type probing for ESP and LE devices.
If there is a dummy "espdma" or "ledma" parent device above ESP scsi
or LE ethernet device nodes, we have to match the bus as SBUS.
Otherwise the address and size cell counts are wrong and we don't
calculate the final physical device resource values correctly at all.
Commit 5280267c1dddb8d413595b87dc406624bb497946 ("sparc: Fix handling
of LANCE and ESP parent nodes in of_device.c") was meant to fix this
problem, but that only influences the inner loop of
build_device_resources(). We need this logic to also kick in at the
beginning of build_device_resources() as well, when we make the first
attempt to determine the device's immediate parent bus type for 'reg'
property element extraction.
Based almost entirely upon a patch by Friedrich Oslage.
Signed-off-by: David S. Miller <davem@davemloft.net>
---
arch/sparc/kernel/of_device_32.c | 21 +++++++++++++++++++--
arch/sparc/kernel/of_device_64.c | 21 +++++++++++++++++++--
2 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/arch/sparc/kernel/of_device_32.c b/arch/sparc/kernel/of_device_32.c
index 0a83bd7..c8f14c1 100644
--- a/arch/sparc/kernel/of_device_32.c
+++ b/arch/sparc/kernel/of_device_32.c
@@ -246,8 +246,25 @@ static unsigned long of_bus_pci_get_flags(const u32 *addr, unsigned long flags)
static int of_bus_sbus_match(struct device_node *np)
{
- return !strcmp(np->name, "sbus") ||
- !strcmp(np->name, "sbi");
+ struct device_node *dp = np;
+
+ while (dp) {
+ if (!strcmp(dp->name, "sbus") ||
+ !strcmp(dp->name, "sbi"))
+ return 1;
+
+ /* Have a look at use_1to1_mapping(). We're trying
+ * to match SBUS if that's the top-level bus and we
+ * don't have some intervening real bus that provides
+ * ranges based translations.
+ */
+ if (of_find_property(dp, "ranges", NULL) != NULL)
+ break;
+
+ dp = dp->parent;
+ }
+
+ return 0;
}
static void of_bus_sbus_count_cells(struct device_node *child,
diff --git a/arch/sparc/kernel/of_device_64.c b/arch/sparc/kernel/of_device_64.c
index 27381f1..5ac287a 100644
--- a/arch/sparc/kernel/of_device_64.c
+++ b/arch/sparc/kernel/of_device_64.c
@@ -300,8 +300,25 @@ static unsigned long of_bus_pci_get_flags(const u32 *addr, unsigned long flags)
static int of_bus_sbus_match(struct device_node *np)
{
- return !strcmp(np->name, "sbus") ||
- !strcmp(np->name, "sbi");
+ struct device_node *dp = np;
+
+ while (dp) {
+ if (!strcmp(dp->name, "sbus") ||
+ !strcmp(dp->name, "sbi"))
+ return 1;
+
+ /* Have a look at use_1to1_mapping(). We're trying
+ * to match SBUS if that's the top-level bus and we
+ * don't have some intervening real bus that provides
+ * ranges based translations.
+ */
+ if (of_find_property(dp, "ranges", NULL) != NULL)
+ break;
+
+ dp = dp->parent;
+ }
+
+ return 0;
}
static void of_bus_sbus_count_cells(struct device_node *child,
--
1.6.2.4
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (10 preceding siblings ...)
2009-04-21 9:16 ` David Miller
@ 2009-04-22 9:25 ` David Miller
2009-04-22 9:59 ` Meelis Roos
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: David Miller @ 2009-04-22 9:25 UTC (permalink / raw)
To: sparclinux
From: David Miller <davem@davemloft.net>
Date: Tue, 21 Apr 2009 02:16:31 -0700 (PDT)
> From: Meelis Roos <mroos@linux.ee>
> Date: Sun, 19 Apr 2009 12:16:21 +0300 (EEST)
>
>>> Ok, following through on this... Here is how I would like to
>>> fix this bug.
>>>
>>> sparc: Fix bus type probing for ESP and LE devices.
>>>
>>> If there is a dummy "espdma" or "ledma" parent device above ESP scsi
>>> or LE ethernet device nodes, we have to match the bus as SBUS.
>>
>> Unfortunately it does not work, onboard ESP is still not detected on my
>> Ultra 1.
>
> Silly bug in that patch, I forgot to substitude "np" with "dp" in
> the name tests that got moved into the loop.
>
> Please try this patch instead.
>
> Thanks!
Meelis, have you have an opportunity to test this updated
version of the fix yet?
Thanks.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (11 preceding siblings ...)
2009-04-22 9:25 ` David Miller
@ 2009-04-22 9:59 ` Meelis Roos
2009-04-22 10:37 ` Meelis Roos
2009-04-22 10:44 ` David Miller
14 siblings, 0 replies; 16+ messages in thread
From: Meelis Roos @ 2009-04-22 9:59 UTC (permalink / raw)
To: sparclinux
> Meelis, have you have an opportunity to test this updated
> version of the fix yet?
It was still compiling 2 hour ago, will see in an hour or two.
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (12 preceding siblings ...)
2009-04-22 9:59 ` Meelis Roos
@ 2009-04-22 10:37 ` Meelis Roos
2009-04-22 10:44 ` David Miller
14 siblings, 0 replies; 16+ messages in thread
From: Meelis Roos @ 2009-04-22 10:37 UTC (permalink / raw)
To: sparclinux
> Meelis, have you have an opportunity to test this updated
> version of the fix yet?
The compile had finished, I installed and testbooted it. It works, thank
you! Tested against yesterdays git.
--
Meelis Roos (mroos@linux.ee)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Ultra1 ESP detection problem
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
` (13 preceding siblings ...)
2009-04-22 10:37 ` Meelis Roos
@ 2009-04-22 10:44 ` David Miller
14 siblings, 0 replies; 16+ messages in thread
From: David Miller @ 2009-04-22 10:44 UTC (permalink / raw)
To: sparclinux
From: Meelis Roos <mroos@linux.ee>
Date: Wed, 22 Apr 2009 13:37:11 +0300 (EEST)
>> Meelis, have you have an opportunity to test this updated
>> version of the fix yet?
>
> The compile had finished, I installed and testbooted it. It works, thank
> you! Tested against yesterdays git.
Thanks a lot for all of your help.
I'll push this fix to Linus and -stable.
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2009-04-22 10:44 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-13 22:24 Ultra1 ESP detection problem Meelis Roos
2009-03-13 22:35 ` David Miller
2009-03-13 22:40 ` Meelis Roos
2009-03-14 14:43 ` Friedrich Oslage
2009-03-14 21:14 ` David Miller
2009-03-14 21:42 ` Friedrich Oslage
2009-03-15 13:23 ` Meelis Roos
2009-03-16 3:32 ` David Miller
2009-04-17 11:10 ` David Miller
2009-04-19 9:16 ` Meelis Roos
2009-04-19 10:18 ` David Miller
2009-04-21 9:16 ` David Miller
2009-04-22 9:25 ` David Miller
2009-04-22 9:59 ` Meelis Roos
2009-04-22 10:37 ` Meelis Roos
2009-04-22 10:44 ` David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.