Hello,

I am currently working with a Portwell NAR-5530 (network appliance running off Intel hardware, can use regular HDs or CF cards as boot device).

We want to use this at work for network appliances, but end up bumping in the following problem : the kernel detects any device plugged to the controller (SATA or CF) as UltraDMA-5, even though the BIOS specifies otherwise clearly.

This results in error messages while installing OpenBSD 4.3 (via PXE), as seen in the following dmesg trace retrieved from the serial interface :

OpenBSD 4.3 (RAMDISK_CD) #645: Wed Mar 12 11:31:03 MDT 2008
    [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/RAMDISK_CD
cpu0: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz ("GenuineIntel" 686- class) 2.40 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36, CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS- CPL,VMX,EST,TM2,CX16,xTPRPXEBOOT 2.02
real mem  = 2138324992 (2039MB)
avail mem = 2061471744 (1965MB)
mainbus0 at roote to com0
bios0 at mainbus0: AT/286+ BIOS, date 03/15/07, BIOS32 rev. 0 @ 0xf0010, SMBIOS rev. 2.4 @ 0xfbc30 (27 entries)
bios0: vendor American Megatrends Inc. version "080014" date 03/15/2007
apm at bios0 function 0x15 not configured
acpi0 at bios0: rev 2, can't enable ACPI
bios0: ROM list: 0xc0000/0xb000! 0xcb000/0x1000
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82Q965 Host" rev 0x02
agp at pchb0 not configured
vga1 at pci0 dev 2 function 0 "Intel 82Q965 Video" rev 0x02
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
ppb0 at pci0 dev 28 function 0 "Intel 82801H PCIE" rev 0x02: irq 10
pci1 at ppb0 bus 1
em0 at pci1 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 10, address 00:90:fb:12:b4:6d
ppb1 at pci0 dev 28 function 1 "Intel 82801H PCIE" rev 0x02: irq 11
pci2 at ppb1 bus 2
em1 at pci2 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 11, address 00:90:fb:12:b4:6e
ppb2 at pci0 dev 28 function 2 "Intel 82801H PCIE" rev 0x02: irq 5
pci3 at ppb2 bus 3
em2 at pci3 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 5, address 00:90:fb:12:b4:6f
ppb3 at pci0 dev 28 function 3 "Intel 82801H PCIE" rev 0x02: irq 15
pci4 at ppb3 bus 4
em3 at pci4 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 15, address 00:90:fb:12:b4:70
ppb4 at pci0 dev 28 function 4 "Intel 82801H PCIE" rev 0x02: irq 10
pci5 at ppb4 bus 5
em4 at pci5 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 10, address 00:90:fb:12:b4:71
ppb5 at pci0 dev 28 function 5 "Intel 82801H PCIE" rev 0x02: irq 11
pci6 at ppb5 bus 6
em5 at pci6 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 11, address 00:90:fb:12:b4:72
uhci0 at pci0 dev 29 function 0 "Intel 82801H USB" rev 0x02: irq 14
uhci1 at pci0 dev 29 function 1 "Intel 82801H USB" rev 0x02: irq 15
ehci0 at pci0 dev 29 function 7 "Intel 82801H USB" rev 0x02: irq 14
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb6 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xf2
pci7 at ppb6 bus 7
em6 at pci7 dev 12 function 0 "Intel PRO/1000MT (82541GI)" rev 0x05: irq 10, address 00:90:fb:12:b4:73 em7 at pci7 dev 13 function 0 "Intel PRO/1000MT (82541GI)" rev 0x05: irq 11, address 00:90:fb:12:b4:74 em8 at pci7 dev 14 function 0 "Intel PRO/1000MT (82541GI)" rev 0x05: irq 5, address 00:90:fb:12:b4:75 ichpcib0 at pci0 dev 31 function 0 "Intel 82801H LPC" rev 0x02: PM disabled pciide0 at pci0 dev 31 function 2 "Intel 82801H SATA" rev 0x02: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide0: using irq 15 for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <SanDisk SDCFH2-002G>
wd0: 4-sector PIO, LBA, 1953MB, 4001760 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
"Intel 82801H SMBus" rev 0x02 at pci0 dev 31 function 3 not configured
pciide1 at pci0 dev 31 function 5 "Intel 82801H SATA" rev 0x02: DMA, channel 0 wired to native-PCI, channel 1 wired to native-PCI
pciide1: using irq 15 for native-PCI interrupt
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom0: console
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
biomask f3c5 netmask ffe5 ttymask ffe7
rd0: fixed, 3800 blocks
uhub3 at uhub1 port 2 "Mitsumi Electric Hub in Apple Extended USB Keyboard" rev 1.10/4.10 addr 2 uhidev0 at uhub3 port 3 configuration 1 interface 0 "Mitsumi Electric Apple Extended USB Keyboard" rev 1.10/4.10 addr 3
uhidev0: iclass 3/1
ukbd0 at uhidev0
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
uhidev1 at uhub3 port 3 configuration 1 interface 1 "Mitsumi Electric Apple Extended USB Keyboard" rev 1.10/4.10 addr 3
uhidev1: iclass 3/0, 3 report ids
uhid at uhidev1 reportid 2 not configured
uhid at uhidev1 reportid 3 not configured
uhidev2 at uhub3 port 2 configuration 1 interface 0 "Mitsumi Electric Apple Optical USB Mouse" rev 1.10/1.08 addr 4
uhidev2: iclass 3/1
uhid at uhidev2 not configured
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0)
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1)
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16)
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0)
PXE boot MAC address 00:90:fb:12:b4:6d, interface em0
root on rd0a swap on rd0b dump on rd0b



I also tried with OpenBSD 4.4-current just in case the problem might have been solved :

OpenBSD 4.4-current (RAMDISK_CD) #920: Sat Oct 18 21:21:09 MDT 2008
    [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/RAMDISK_CD
cpu0: Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz ("GenuineIntel" 686- class) 2.40 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36, CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS- CPL,VMX,EST,TM2,CX16,xTPR
real mem  = 2138324992 (2039MB)
avail mem = 2061066240 (1965MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 03/15/07, BIOS32 rev. 0 @ 0xf0010, SMBIOS rev. 2.4 @ 0xfbc30 (27 entries)
bios0: vendor American Megatrends Inc. version "080014" date 03/15/2007
apm0 at bios0: Power Management spec V1.2
acpi at bios0 function 0x0 not configured
pcibios0 at bios0: rev 3.0 @ 0xf0000/0x10000
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xf57b0/320 (18 entries)
pcibios0: no compatible PCI ICU found: ICU vendor 0x8086 product 0x2810
pcibios0: Warning, unable to fix up PCI interrupt routing
pcibios0: PCI bus #7 is the last bus
bios0: ROM list: 0xc0000/0xb000! 0xcb000/0x1000
cpu0 at mainbus0: (uniprocessor)
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82Q965 Host" rev 0x02
vga1 at pci0 dev 2 function 0 "Intel 82Q965 Video" rev 0x02
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
ppb0 at pci0 dev 28 function 0 "Intel 82801H PCIE" rev 0x02: irq 10
pci1 at ppb0 bus 1
em0 at pci1 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 10, address 00:90:fb:12:b4:6d
ppb1 at pci0 dev 28 function 1 "Intel 82801H PCIE" rev 0x02: irq 11
pci2 at ppb1 bus 2
em1 at pci2 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 11, address 00:90:fb:12:b4:6e
ppb2 at pci0 dev 28 function 2 "Intel 82801H PCIE" rev 0x02: irq 5
pci3 at ppb2 bus 3
em2 at pci3 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 5, address 00:90:fb:12:b4:6f
ppb3 at pci0 dev 28 function 3 "Intel 82801H PCIE" rev 0x02: irq 15
pci4 at ppb3 bus 4
em3 at pci4 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 15, address 00:90:fb:12:b4:70
ppb4 at pci0 dev 28 function 4 "Intel 82801H PCIE" rev 0x02: irq 10
pci5 at ppb4 bus 5
em4 at pci5 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 10, address 00:90:fb:12:b4:71
ppb5 at pci0 dev 28 function 5 "Intel 82801H PCIE" rev 0x02: irq 11
pci6 at ppb5 bus 6
em5 at pci6 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: irq 11, address 00:90:fb:12:b4:72
uhci0 at pci0 dev 29 function 0 "Intel 82801H USB" rev 0x02: irq 14
uhci1 at pci0 dev 29 function 1 "Intel 82801H USB" rev 0x02: irq 15
ehci0 at pci0 dev 29 function 7 "Intel 82801H USB" rev 0x02: irq 14
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb6 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xf2
pci7 at ppb6 bus 7
em6 at pci7 dev 12 function 0 "Intel PRO/1000MT (82541GI)" rev 0x05: irq 10, address 00:90:fb:12:b4:73 em7 at pci7 dev 13 function 0 "Intel PRO/1000MT (82541GI)" rev 0x05: irq 11, address 00:90:fb:12:b4:74 em8 at pci7 dev 14 function 0 "Intel PRO/1000MT (82541GI)" rev 0x05: irq 5, address 00:90:fb:12:b4:75 ichpcib0 at pci0 dev 31 function 0 "Intel 82801H LPC" rev 0x02: PM disabled pciide0 at pci0 dev 31 function 2 "Intel 82801H SATA" rev 0x02: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide0: using irq 15 for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <SanDisk SDCFH2-002G>
wd0: 4-sector PIO, LBA, 1953MB, 4001760 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
"Intel 82801H SMBus" rev 0x02 at pci0 dev 31 function 3 not configured
pciide1 at pci0 dev 31 function 5 "Intel 82801H SATA" rev 0x02: DMA, channel 0 wired to native-PCI, channel 1 wired to native-PCI
pciide1: using irq 15 for native-PCI interrupt
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
biomask f3c5 netmask ffe5 ttymask ffff
rd0: fixed, 3800 blocks
uhub3 at uhub1 port 2 "Mitsumi Electric Hub in Apple Extended USB Keyboard" rev 1.10/4.10 addr 2 uhidev0 at uhub3 port 3 configuration 1 interface 0 "Mitsumi Electric Apple Extended USB Keyboard" rev 1.10/4.10 addr 3
uhidev0: iclass 3/1
ukbd0 at uhidev0
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
uhidev1 at uhub3 port 3 configuration 1 interface 1 "Mitsumi Electric Apple Extended USB Keyboard" rev 1.10/4.10 addr 3
uhidev1: iclass 3/0, 3 report ids
uhid at uhidev1 reportid 2 not configured
uhid at uhidev1 reportid 3 not configured
uhidev2 at uhub3 port 2 configuration 1 interface 0 "Mitsumi Electric Apple Optical USB Mouse" rev 1.10/1.08 addr 4
uhidev2: iclass 3/1
uhid at uhidev2 not configured
softraid0 at root
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0)
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 64 of 64-67 (wd0 bn 64; cn 0 tn 1 sn 1)
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 1024 of 1024-1027 (wd0 bn 1024; cn 0 tn 16 sn 16)
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
pciide0:0:0: dmamode error (4)
wd0c: aborted command reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0)
PXE boot MAC address 00:90:fb:12:b4:6d, interface em0
root on rd0a swap on rd0b dump on rd0b



I can't help but be startled by the following line :

wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5

while the BIOS states Ultra-DMA is not supported by my flash card.

Accordingly to wd(4), I attempted setting the flags to 0x0fac to no avail (PIO mode 4, DMA mode 2, no UDMA). The flags were plainly ignored.

We asked a Portwell salesperson to come on-site and proceed to testing :
- with a Transcend CF card (BIOS reported Ultra-DMA 4 capable ; OpenBSD kept on reporting UDMA-5) - with a SATA hard disk (BIOS reported Ultra-DMA 6 capable ; OpenBSD kept on reporting UDMA-5)

And while the SATA hard disk proceeded quite fine, the Transcend CF card yielded DMA errors (as one would expect).

As a last resort, I started digging in the source code for the wd device in OpenBSD 4.3's source, and stumbled upon the following code in /usr/src/sys/dev/ic/wdc.c at line 1274 :

        if ((wdc->cap & WDC_CAPABILITY_SATA) != 0 &&
            (params->atap_sata_caps != 0x0000 &&
            params->atap_sata_caps != 0xffff)) {
                WDCDEBUG_PRINT(("%s: atap_sata_caps=0x%x\n", __func__,
                    params->atap_sata_caps), DEBUG_PROBE);

                /* Skip ATA modes detection for native SATA drives */
                drvp->PIO_mode = drvp->PIO_cap = 4;
                drvp->DMA_mode = drvp->DMA_cap = 2;
                drvp->UDMA_mode = drvp->UDMA_cap = 5;
drvp->drive_flags |= DRIVE_SATA | DRIVE_MODE | DRIVE_UDMA;
                drvp->ata_vers = 4;
                return;
        }

Obviously this is the reason why no matter what device or flags I use, it gets detected as UDMA-5.

Forcing everything like this into the UDMA-5 box without any checking looks like a pretty scary gamble to me, so I'd like to raise the issue, or even, if there is anyone who could give me enough pointers about the proper behavior, I don't mind trying implementing a patch.

Thanks in advance for your time,
--
Stephane LAPIE
Email: [EMAIL PROTECTED]
Phone: +81 (0)42 319 5164

Reply via email to