freebsd-dev/sys/dev
Pyun YongHyeon 7c01ae3bd4 Not all VIA Rhine chips support 256 register space. So touching
VR_STICKHW register would result in unexpected results on these
hardwares. wpaul said the following for the issue.

  The vr_attach() routine unconditionally does this for all supported
  chips:

	/*
	 * Windows may put the chip in suspend mode when it
	 * shuts down. Be sure to kick it in the head to wake it
	 * up again.
	 */
	VR_CLRBIT(sc, VR_STICKHW, (VR_STICKHW_DS0|VR_STICKHW_DS1));

  The problem is, the VR_STICKHW register is not valid on all Rhine
  devices. The VT86C100A chip, which is present on the D-Link DFE-530TX
  boards, doesn't support power management, and its register space is
  only 128 bytes wide. The VR_STICKHW register offset falls outside this
  range. This may go unnoticed in most scenarios, but if you happen to have
  another PCI device in your system which is assigned the register
  space immediately after that of the Rhine, the vr(4) driver will
  incorrectly stomp it. In my case, the BIOS on my test board decided
  to put the register space for my PRO/100 ethernet board right next
  to the Rhine, and the Rhine driver ended up clobbering the IMR register
  of the PRO/100 device. (Long story short: the board kept locking up on
  boot. Took me the better part of the morning suss out why.)

  The strictly correct thing to do would be to check the PCI config space
  to make sure the device supports the power management capability and only
  write to the VR_STICKHW register if it does.

Instead of inspecting chip revision numbers for the availability of
VR_STICKHW register, check the existence of power management capability
of the hardware as wpaul suggested.

Reported by:	wpaul
Suggested by:	wpaul
OK'ed by:	jhb
2007-10-12 03:32:55 +00:00
..
aac Add PCI IDs for two cards: 2007-08-23 20:12:40 +00:00
acpi_support
acpica When the EC times out (common with Compaqs), it may report a design 2007-10-09 07:51:46 +00:00
adlink Set D_NEEDGIANT. 2007-08-04 17:43:11 +00:00
advansys
agp - Add the device ID for the VIA VT3324 (CX700) chipset. 2007-09-21 02:10:13 +00:00
aha
ahb
aic
aic7xxx Fix locking mistakes in the error recovery paths of the AHC and AHD drivers. 2007-07-31 20:11:03 +00:00
amd
amr
an Fixing invalid channel display in ifconfig(8) by implementing required 2007-09-10 12:53:34 +00:00
ar
arcmsr Make the driver fully MPSAFE. This fixes some serious locking problems 2007-07-31 20:16:50 +00:00
arl
asr
ata Add PCI ID for ICH9 AHCI w/ two adapters. 2007-10-09 20:15:09 +00:00
ath Update beacon handling to sync w/ vap code base: 2007-09-17 19:07:24 +00:00
atkbdc
auxio
awi o add 802.11 state machine states for DFS and client-side power save 2007-09-05 21:31:32 +00:00
bce - Fixed a problem that would cause kernel panics and "bce0: discard frame .." 2007-07-31 00:06:04 +00:00
bfe
bge Make the PCI code aware of PCI domains (aka PCI segments) so we can 2007-09-30 11:05:18 +00:00
bktr
buslogic
cardbus Make the PCI code aware of PCI domains (aka PCI segments) so we can 2007-09-30 11:05:18 +00:00
ce First in a series of changes to remove the now-unused Giant compatibility 2007-07-27 11:59:57 +00:00
ciss
cm
cnw
coretemp Style nits + more reliable Tj(max) detection + improved reporting of 2007-08-23 10:53:03 +00:00
cp First in a series of changes to remove the now-unused Giant compatibility 2007-07-27 11:59:57 +00:00
cpufreq
cs
ct
ctau First in a series of changes to remove the now-unused Giant compatibility 2007-07-27 11:59:57 +00:00
cx First in a series of changes to remove the now-unused Giant compatibility 2007-07-27 11:59:57 +00:00
cxgb Evidently setup_rss needs to happen whenever bind_qsets is done. This fixes 2007-09-11 23:49:27 +00:00
cy
dc o In order to reduce bug and code duplication fold handling of NICs 2007-08-05 11:28:19 +00:00
dcons We don't need to call dcons_poll event handlers if KDB is not active. 2007-08-17 05:32:39 +00:00
de
digi
dpt
drm Properly initialize the dev_priv before calling the i915_dma_cleanup(). 2007-08-21 12:52:57 +00:00
ed
eisa
em A number of small fixes: 2007-09-10 21:50:40 +00:00
en
ep
esp
ex
exca
fatm
fb
fdc
fe
firewire
flash
fxp
gem o Revert the part of if_gem.c rev. 1.35 which added a call to gem_stop() 2007-09-26 21:14:18 +00:00
harp
hatm
hfa
hifn
hme
hptiop
hptmv
hwpmc
ic
ichsmb
ichwd Update to support ICH[678] chipsets (based on a patch by Takeharu KATO) 2007-08-13 18:52:37 +00:00
ida
idt
ie
ieee488
if_ndis Fix up ndis interaction with net80211 2007-07-26 20:11:16 +00:00
iicbus
iir
io
ipmi
ips
ipw o add 802.11 state machine states for DFS and client-side power save 2007-09-05 21:31:32 +00:00
iscsi/initiator Introduce Danny Braniss' iSCSI initiator, version 2.0.99. Please read the 2007-07-24 15:35:02 +00:00
isp Fix off-by-two errors. 2007-08-28 00:09:12 +00:00
ispfw
iwi Add missing bits that made bg scanning lame: 2007-09-05 23:00:27 +00:00
ixgb
ixgbe This is an update to the new Intel 10G 82598 driver. 2007-09-04 02:31:35 +00:00
joy
kbd
kbdmux
le
led
lge
lmc
mc146818
mca
mcd
md
mem
mfi Update the MFI driver to support new "1078" series of hardware. This 2007-08-25 23:58:45 +00:00
mii
mk48txx
mlx
mly
mmc
mpt Fix an incorrect PCI device id. The current value conflicts with 2007-09-18 16:39:24 +00:00
mse
msk
mxge Add support for a new device id (9). Mxge NICs with the new 2007-09-13 21:29:02 +00:00
my
ncv
nfe During boot(before setting IP address) PHY can generate link state 2007-09-14 05:12:25 +00:00
nge
nmdm Call ttyld_close() in nmdmclose() to ensure that nmdm(4) 2007-08-01 21:38:11 +00:00
nsp
null
nve
nxge
ofw
patm
pbio
pccard
pccbb Make the PCI code aware of PCI domains (aka PCI segments) so we can 2007-09-30 11:05:18 +00:00
pcf
pci Make the PCI code aware of PCI domains (aka PCI segments) so we can 2007-09-30 11:05:18 +00:00
pdq
powermac_nvram
ppbus
ppc
pst
puc
ral Update beacon handling to sync w/ vap code base: 2007-09-17 19:07:24 +00:00
random
ray add defs just removed from ieee80211.h 2007-09-05 21:25:58 +00:00
rc
re Make sure to take PHY out of power down mode in device attach. 2007-08-14 02:00:04 +00:00
rndtest
rp
rr232x
safe
sbni
sbsh
scc
scd
sf
si
sio
sk
smbus
sn
snc
snp
sound Update snd_emu10kx driver with recent perforce changes (and few 2007-09-12 07:43:43 +00:00
speaker
spibus
sr
stg
stge
streams Remove the now-unused NET_{LOCK,UNLOCK,ASSERT}_GIANT() macros, which 2007-08-06 14:26:03 +00:00
sym
syscons Serialize output routine of terminal emulator (te_puts()) by a lock. 2007-09-20 04:05:59 +00:00
tdfx
ti
trm
twa Update to version 3.70.03.007 from the vendor. This adds support for new 2007-10-09 17:43:57 +00:00
twe
tx
txp
uart
ubsec
usb Add entries for Epson multifunction scanner/printer/card readers, 2007-10-05 07:26:39 +00:00
utopia
vge
vkbd
vr Not all VIA Rhine chips support 256 register space. So touching 2007-10-12 03:32:55 +00:00
vx
watchdog
wds
wi Make wi_set_channel() actually change the channel in hardware so that hostap 2007-09-16 20:02:29 +00:00
wl
xe