Bug 43653

Summary: rl(8) driver causes unaligned access trap on alpha
Product: Base System Reporter: lindroos <lindroos>
Component: alphaAssignee: freebsd-alpha (Nobody) <alpha>
Status: Closed FIXED    
Severity: Affects Only Me CC: dns
Priority: Normal    
Version: 4.6.2-RELEASE   
Hardware: Any   
OS: Any   

Description lindroos 2002-10-04 09:30:01 UTC
In sys/pci/if_rl.c function rl_stop(), the expression:
CSR_WRITE_4(sc, RL_TXADDR0 + i, 0x0000000);
causes a fatal trap on alpha systems, when the rl(4) interface is up and
running.

Fix: 

Replacing the expression mentioned in the description above with:
CSR_WRITE_4(sc, RL_TXADDR0 + (i * sizeof(u_int32_t)), 0x0000000);
should work.
How-To-Repeat: Enable the interface and set it to 100BaseTX full-duplex, then
try something like spray(8) with options -c1024 -l4096 a few times.
Probably many other network-intensive application will trigger the bug.
Comment 1 wilko freebsd_committer freebsd_triage 2003-08-25 22:24:24 UTC
State Changed
From-To: open->closed

The rl driver has seen major work the last year or so. 

marcel@ has recently tested rl on alpha under heavy NFS load 
and reports that he has seen no problems anymore as described in the PR.