1. ifdef out the restriction that the SiS 900 has only one PHY
This is demonstrably false; the SiS 960 super south bridge in
PR 18590 has a SiS 900 rev 1 core in it.
2. bitbang the MII for all versions of the SiS 900; this is the
only way that the PHYs on this system answer.
Also, I suspect that SIS900_REV_960 constant in if_sipreg.h is
incorrectly labelled - there were later revisions of the super
south bridge (e.g. the 961, 962, and 963), and I suspect the
SiS 900 revision code there refers to one of those.
Some controllers/drives (e.g. SataLink 3114 with WD Raptor) require
it. Should fix kern/23808 by Chris Gilbert, patch suplied by Chris Gilbert
on tech-kern, extended to all places enabling interrupts by me.
Code cleanup and MIPS merge should be considered for the generations
of Discovery, II, III and GT-640xx/1xx. The last two are used
locally in cobalt and evbmips.
with NetBSD 1.5). With all newer versions available to us, we have seen
some adapters crash -- and fail to respond to reset -- under certain heavy
load conditions. This version appears stable under heavy load with the
current driver on multiple systems on which we can reproduce the failure
with newer versions.
log.
----------------------------
update copyright notice for 2004
----------------------------
add new statistics
Obtained from: madwifi
----------------------------
update radiotap support to reflect recent changes:
o move tx taps from ath_start to ath_tx_start so lots more
state is available to tap
o add tx flags
o add tx rate
o add tx power (constant for the moment)
o add tx antenna state
----------------------------
do proper subclassing of node free+copy; the previous hack falls apart when
the 802.11 layer does useful work
Obtained from: madwifi
----------------------------
transmit beacon frames directly instead of defering them to a swi; there
was too much delay
Obtained from: madwifi
----------------------------
update copyright notice for 2004
----------------------------
radiotap updates:
o force little-endian byte order for header
o pad header to 32-bit boundary to guard against applications that assume
packet data alignment
FreeBSD commit log:
----------------------------
use correct malloc type to allocate struct ieee80211_node's
Noticed by: phk
----------------------------
do proper subclassing of node free+copy; the previous hack falls apart when
the 802.11 layer does useful work
Obtained from: madwifi
----------------------------
transmit beacon frames directly instead of defering them to a swi; there
was too much delay
Obtained from: madwifi
----------------------------
update copyright notice for 2004
----------------------------
check more quickly (and directly) if an interrupt is pending; this reduces
work done in ath_intr when the irq is shared
Obtained from: madwifi
----------------------------
cleanup descriptor allocation if attach fails
Obtained from: madwifi
----------------------------
remove use IEEE80211_C_RCVMGT
----------------------------
radiotap updates:
o force little-endian byte order for header
o pad header to 32-bit boundary to guard against applications that assume
packet data alignment
----------------------------
Don't announce MAC addresses twice.
(ieee80211_ifattach() calls ether_ifattach().)
----------------------------
Make this compile on amd64.
"I'll cope" by: sam
----------------------------
When draining the tx queue reclaim any node references held in packets.
This fixes a problem when operating as an AP where clients would get
stuck in the node table because the reference count never went to zero.
----------------------------
When ath_hal_stoptxdma returns an error dma is still likely stopped
so don't just stop trying to send a beacon frame or we'll be more likely
to lose sync. This only seems to happen on some older chips.
----------------------------
use ath_reset instead of ath_init when recovering from a watchdog timeout:
resetting the hardware is sufficient, no need to reset the 802.11 fsm
----------------------------
make hw.ath.debug a tunable
----------------------------
make hw.ath.outdoor and hw.ath.countrycode tunables
----------------------------
split debugging messages up into classes;
ah_debug is now treated as a bit vector
----------------------------
update radiotap support to reflect recent changes:
o move tx taps from ath_start to ath_tx_start so lots more
state is available to tap
o add tx flags
o add tx rate
o add tx power (constant for the moment)
o add tx antenna state
----------------------------
o eliminate widespread on-stack mbuf use for bpf by introducing
a new bpf_mtap2 routine that does the right thing for an mbuf
and a variable-length chunk of data that should be prepended.
o while we're sweeping the drivers, use u_int32_t uniformly when
when prepending the address family (several places were assuming
sizeof(int) was 4)
o return M_ASSERTVALID to BPF_MTAP* now that all stack-allocated
mbufs have been eliminated; this may better be moved to the bpf
routines