Bug 68502

Summary: ATA panics in UDMA33 mode (worked OK in 5.2.1-R)
Product: Base System Reporter: Alexei Khalimov <lesha>
Component: i386Assignee: Søren Schmidt <sos>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.2-CURRENT   
Hardware: Any   
OS: Any   

Description Alexei Khalimov 2004-06-30 08:40:28 UTC
ATA driver panics system if run in DMA mode
hw.ata.ata_dma="0" works fine, but PIO4 is so slow.
Everything worked just fine with 5.2.1-RELEASE

atapci0: <SiS 961 UDMA100 controller> port
 0x110b-0x111a,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 2.5 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata0-master: DMA limited to UDMA33, non-ATA66 cable or device
ad0: 19077MB <IC25N020ATMR04-0> [38760/16/63] at ata0-master UDMA33
ad0: TIMEOUT - READ_DMA retrying (2 retries left) LBA=39070017
ad0: DMA limited to UDMA33, non-ATA66 cable or device
kernel trap 12 with interrupts disabled

Fatal trap 12: page fault while in kernel mode
fault virtual address        = 0x74
fault code 			   = supervisor read, page not present
instruction pointer          = 0x8:0xc050f615
stack pointer                 = 0x10:0xc7683c48
frame pointer                 = 0x10:0xc7683c4c
code segment               = base rx0, limit 0xfffff, type 0x1b
                                  = DPL 0, pres 1, def32 1, gran 1
processor eflags           = resume, IOPL = 0
current process            = 5 (taskqueue)
trap number                 = 12
panic: page fault

syncing disks, buffers remaining...
done
Uptime: 6s

Fix: 

Currently unknown.
How-To-Repeat: Install 5.2-CURRENT on loosy laptop with UDMA33 disk.
Boot and enjoy immediate panic.
Comment 1 Alexei Khalimov 2004-06-30 08:55:27 UTC
Seems like problem is with incorrect detection of ATA controller.

5.2.1-release:
atapci0: <SiS 5513 UDMA33 controller> port 0x1100-0x110f at device 2.5 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata0: [MPSAFE]

5.2-current:
atapci0: <SiS 961 UDMA100 controller> port
 0x110b-0x111a,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 2.5 on pci0
ata0: at 0x1f0 irq 14 on atapci0
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2004-07-15 09:41:39 UTC
Responsible Changed
From-To: freebsd-i386->sos

This sounds very particular to the ATA driver.
Comment 3 Søren Schmidt freebsd_committer freebsd_triage 2004-08-16 13:03:52 UTC
State Changed
From-To: open->closed

THis should be fixed in -current