Commit Graph

13578 Commits

Author SHA1 Message Date
netchild
24f05a42fb * als4000 can't do 48k properly (perhaps it really can't at all!).
Set maxspeed to 44.1k instead.
* Add locking / MPSAFE
* Fix recording

Submitted by:	Ariff Abdullah <skywizard@MyBSD.org.my>
2005-07-31 11:01:13 +00:00
netchild
b3a4958eb7 * Fix panic during driver unload on second attempt after failure on
first (device busy).
* Fix module unloading for sound.ko itself.

Submitted by:	Ariff Abdullah <skywizard@MyBSD.org.my>
Tested by:	multimedia@
2005-07-31 10:55:24 +00:00
imp
e369c14b22 The isa attachment calls ep_free after it has already been called once
in the resource error in ep_alloc case.  This results in a panic.
Zero resources to make it safe to call twice pending resolution of
layering questions.

MFC After: 3 days
2005-07-31 03:33:22 +00:00
imp
bafe5eb6c7 Add newer commands 2005-07-31 03:30:46 +00:00
csjp
aa6ed9f702 Add missing parenthesis around error handling code upon attaching
mlx devices. This fixes an issue where mlx device drives fail to be
detected at system boot.

This is a RELENG_6 candidate.

Submitted by:	oliver
PR:		kern/84163
2005-07-30 15:53:40 +00:00
jkoshy
05d42812ac Fail the module loading process if the currently executing kernel
was not compiled with 'options HWPMC_HOOKS' or if the compiled-in
version numbers of the kernel and module are out of sync.

Reported by:	cracauer
MFC after:	3 days
2005-07-30 09:02:42 +00:00
mux
fa1de9870b Add a new PCI id for fxp(4) cards found on ICH7-based systems.
This commit is a RELENG_6 candidate.

Submitted by:	Martin Nilsson <martin@gneto.com>
2005-07-29 22:40:06 +00:00
sos
d4f57755dc Remove stale struct ata_channel declaration.
Reported by:	rodrigc
2005-07-29 18:14:06 +00:00
ps
507be1e3f4 Print the actual disk device we failed to complete i/o on. 2005-07-29 01:53:45 +00:00
ps
f7414e1119 Don't allow ioctl commands to be interrupted by the user. 2005-07-29 01:47:36 +00:00
brian
8b3f56edd4 Make ichsmb unloadable.
It seems that the unload problems were due to a dodgy sc->smb usage and a
missing mtx_destroy().

Sponsored by:	ActiveState/Sophos
MFC after:	3 weeks
2005-07-29 00:20:50 +00:00
njl
29f642bd91 Add descriptions for the sysctls.
MFC after:	1 day
2005-07-28 19:34:51 +00:00
njl
6dcd92c249 Zero the _BST, _BIF, and battinfo allocations. This is needed since we
later sum capacities for all batteries, even those that weren't actually
present.  We only need to do this for _BST but do it for all of them.

Reported by:	Eric Anderson
MFC after:	1 day
2005-07-28 18:19:50 +00:00
emax
8bbe23871b Reorganize an_detach() a bit. Make sure ether_ifdetach() and if_free()
are called outside of AN_LOCK()/AN_UNLOCK. This fixes the following
WITNESS warning (produced when an(4) PCMCIA card is detached).

taskqueue_drain with the following non-sleepable locks held:
exclusive sleep mutex an0 (network driver) r = 0 (0xc59af168) locked @ /usr/src/sys/dev/an/if_an.c:2836

MFC after:	3 days
Silence from:	current@
2005-07-27 21:03:35 +00:00
jhb
3b5e58119d Correct the order of some if tests so that we don't complain about being
unable to route an IRQ when we do route an IRQ ok but bootverbose is off.

Reported by:	Ben Kaduk minimarmot at gmail dot com
2005-07-27 15:21:32 +00:00
jhb
d675d9c68f - Use callout_*() rather than timeout() to periodically poll the media.
- Add locking to protect the softc and mark this driver as MP safe.  There
  are still some edge cases with multiport cards that need more locking
  work.

MFC after:	1 week
Tested on:	alpha
2005-07-27 13:51:01 +00:00
mux
6202c129d5 Remove an erroneous m_freem() call. If m_defrag() returns a non-NULL
pointer, it has already freed the original mbuf chain, so we shouldn't
do it again.

This is an MFC candidate.
2005-07-25 22:21:11 +00:00
njl
7238cb10db Correct minor output bug. When the battery being queried is charging or
the overall discharge rate is 0, mark the battery remaining time as
"unknown", not 0.

Reported by:	Eric Kjeldergaard
MFC after:	4 days
2005-07-25 17:44:10 +00:00
marius
971448c5bb Remove NOP spl*() calls and add locking (making gem(4) MPSAFE).
Based on:	hme(4)
Reviewed by:	yongari
Tested on:	powerpc(grehan), sparc64
2005-07-24 18:45:15 +00:00
marius
f27e33d478 - Wrap the handler and associated code for collecting completed RX
descriptors that are still marked owned in #ifdef GEM_RINT_TIMEOUT
  instead of #if 0 for convenience.
- Remove stale code and comment about relying on the preset XIF config.
- In case of a watchdog timeout call the init function instead of just
  the start function so the chip is properly reset.

Merge from hme(4):
- Convert to use bus_dmamap_load_mbuf_sg() for loading RX buffers.
- Protect from a duplicate mbuf free panic in case the DMA engine hangs.

Reviewed by:	yongari
Tested on:	powerpc(grehan), sparc64
MFC after:	1 week
2005-07-24 18:12:31 +00:00
sam
dae7e7f3e8 o fix setup of sc_diversity; the hal does not give us reliable
status after attach, only after a reset
o when setting diversity via the sysctl don't update sc_diversity
  until we know the hal requested worked
o while here eliminate sc_hasdiversity and sc_hastpc; just query
  the hal each time since these are the only places we need to know

MFC after:	3 days
2005-07-24 05:11:39 +00:00
njl
1cb806cc9e Rewrite the acpi_battery interface to allow for other battery types
(i.e., smart battery) and fix various bugs found during the cleanup.

API changes:
* kernel access:
Access to individual batteries is now via devclass_find("battery").
Introduce new methods ACPI_BATT_GET_STATUS (for _BST-formatted data) and
ACPI_BATT_GET_INFO (for _BIF-formatted data).  The helper function
acpi_battery_get_battinfo() now takes a device_t instead of a unit #
argument.  If dev is NULL, this signifies all batteries.

* ioctl access:
The ACPIIO_BATT_GET_TYPE and ACPIIO_BATT_GET_BATTDESC ioctls have been
removed.  Since there is now no need for a mapping between "virtual" unit
and physical unit, usermode programs can just specify the unit directly and
skip the old translation steps.  In fact, acpiconf(8) was actually already
doing this and virtual unit was the same as physical unit in all cases
since there was previously only one battery type (acpi_cmbat).  Additionally,
we now map the ACPIIO_BATT_GET_BIF and ACPIIO_BATT_GET_BST ioctls for all
batteries, if they provide the associated methods.

* apm compatibility device/ioctls:  no change
* sysctl:  no change

Since most third-party applications use the apm(4) compat interface, there
should be very few affected applications (if any).

Reviewed by:	bruno
MFC after:	5 days
2005-07-23 19:36:00 +00:00
sam
b6bb66296b o move ath_sysctlattach down so variables it depends on are setup
o use any fixed tx antenna for beacons transmitted in adhoc mode

Submitted by:	David Young
MFC after:	3 days
2005-07-23 05:34:29 +00:00
njl
ff37742b9a Standardize __FBSDID identifiers.
MFC after:	2 days
2005-07-22 23:10:02 +00:00
sam
0bcf56e9b9 simplify ic_newassoc callback
MFC after:	3 days
2005-07-22 17:57:16 +00:00
sam
f149e56110 simplify ieee80211_ibss_merge api
MFC after:	3 days
2005-07-22 17:54:40 +00:00
sam
7c3e01b45a simplify ieee80211_node_authorize and ieee80211_node_unauthorize api's
MFC after:	3 days
2005-07-22 17:36:12 +00:00
sam
3876d0ac68 diff reduction against p4: define IEEE80211_FIXED_RATE_NONE and use
it instead of -1
2005-07-22 16:50:18 +00:00
ru
3fb5409875 Don't drop frames if interface is in promiscuous mode.
PR:		kern/83833
Submitted by:	Eygene A. Ryabinkin
MFC after:	3 days
2005-07-22 11:27:07 +00:00
jhb
a46419f0fc - Use the PCIR_BAR() macro rather than hardcoding rids.
- Use pci_enable_busmaster() rather than fiddling with the PCI command
  register directly.
2005-07-21 16:43:07 +00:00
jhb
85a0e8deb1 Don't set if_start to tulip_ifstart all over the place. It is already
set in tulip_attach() and its value is never changed, so all the extra sets
are redundant.  I'm guessing that at some point in time de(4) had an
alternate start routine, but that hasn't been true in recent history.
2005-07-21 16:42:21 +00:00
jhb
5825347531 Remove conditional code that has largely rotted that is also not on by
default:
- TULIP_NEED_FASTTIMEOUT - tulip_fasttimeout() wasn't called anywhere
- BIG_PACKET - only worked on i386 anyway
- TULIP_USE_SOFTINTR - doesn't compile and was never updated to handle
  new netisr registration
- non-FreeBSD code
2005-07-21 16:40:08 +00:00
jhb
3969c485d9 Use get_cyclecount() rather than hardcoding rdtsc and rpcc in asm for i386
and alpha, respectively.
2005-07-21 16:34:14 +00:00
jhb
7bca04440d Fix a typo and some whitespace nits. 2005-07-21 16:33:05 +00:00
emax
ce7209a491 Fix kernel panic with vkbd(4). Initialize mutex properly (set name), or else
WITNESS gets upset.

MFC after:	3 days
2005-07-21 16:19:08 +00:00
anholt
e1ade9ca64 Add the latest r300 code from r300.sf.net. This is based on the patch supplied
by Vladimir Dergachev for inclusion in DRM CVS, with minor modifications for
FreeBSD CVS and the appropriate license from Nicolai Haehnle on r300_reg.h.
Fixes hangs when using r300.sf.net userland, tested on a Radeon 9600 on amd64.
2005-07-20 21:10:57 +00:00
imp
bb48aae2f2 Spell destroy in a more traditional way 2005-07-19 22:26:44 +00:00
delphij
a7fbd037f4 PLAY_MSF, PLAY_TRACK, PLAY_TRACK_REL, PAUSE, PLAY_12 commands to pass
through umass(4), in order to make cdcontrol(1) to issue commands to
a USB CD driver.

The command IDs were obtained from the CAM subsystem.  This was tested
on half dozen of USB CD drivers from different vendors.

Suggested by:	"intron" <intron at intron dot ac>
PR:		usb/83439
Reviewed by:	sanpei
MFC After:	1 week
2005-07-19 05:18:23 +00:00
imp
250d9bf656 Better name for type 4 chips 2005-07-18 23:41:34 +00:00
imp
2f07911d65 o Add Toshiba's id. Make AGERE an alias for LUCENT. Add Ungermann's ID.
o Add Agere Hermes II and II.5 PC Cards (from zipit web page), TDK
  GlobalNetworker 3410 (from dmesg for my card) and another alternate
  PANASONIC KXLC0005_2 (from pcmcia-cs id lists).
2005-07-18 21:47:38 +00:00
ume
240856811f Implement passive cooling. It is enabled for tz0 by default where
it is available.

Reviewed by:	njl
2005-07-18 20:12:23 +00:00
rwatson
d2f40e1969 Mark if_sbsh as IFF_NEEDSGIANT, because it does.
MFC after:	1 day
2005-07-18 18:19:50 +00:00
rwatson
4165eb26d1 Mark if_cnw as IFF_NEEDSGIANT, because it does.
MFC after:	1 day
2005-07-18 17:58:59 +00:00
imp
e68f5f6d40 I believe that this tsleep was placed here in 1.28 to try to solve the
problems we were having properly mapping the CIS attr space on some
cards.  Those problems have been solved other ways, so this kludge is
no longer necessary.  Remove it and have pccards come up a whole
second faster.
2005-07-17 20:16:22 +00:00
imp
bbacc56d64 The Sony i.LINK CXD1947 device is a firewire bridge, but it doesn't
implement the OHCI programming interface.  Thus it probes, but fails
to attach because of an invalid OHCI version.  Rather than count on
the downstream tests properly failing, print a message that this
chipset isn't supported and fail the probe.
2005-07-17 19:59:07 +00:00
imp
9b222cbe2a o The ricoh bridge needs us to turn off the function interrupts for
16-bit cards when we're powering them up.  Other bridges may have
  similar issues, so we do this for all of them by setting the
  interrupt in the PCIC register 3 to be 0 (done always anyway)
  and turning on the bit in the bridge control register to route these
  interrupts via the ISA bus (or via the interrupt configured in the
  PCIC register 3).  '0' means disable completely.  There's a small
  chance this may interfere with the o2micro power hacks, but I'll
  wait for reports to come in from o2micro users.
o Expand some of the comments about why we do certain things.

# this gets rid of the interrupt storm warnings on my 505TS.  I think
# that we may need to do something similar on suspend, but I'm unsure
# since I don't have a laptop that supports suspened/resume with a
# ricoh chipset in it.
2005-07-17 19:40:05 +00:00
imp
f69c4458ba Rename a bit to make it clearer that it enables routing of the function
interrupts to the ISA bus.
2005-07-17 19:31:39 +00:00
imp
138abbd843 The CD interrupt should only be enabled after we've initialized the
card.  Mask it while we're doing power things, as the PC Card standard
suggests.  Also, poll the POWER_CYCLE bit 10x a second as well as
providing a timeout for power cycle interrupt to happen.

The Ricoh '475 that I have doesn't seem to generate an interrupt for
power at the present time, so the polling is necessary for reasons as
yet unknown.  This results in an interrupt storm warning that I'm
still trying to quantify (the o2micro trick doesn't work to mitigate
this storm).  At the very least, this should help those users that
lost pccards on boot with the prior rev of this code.  My VAIO
PCG-505TS is now happier, but more investigation is necessary.
2005-07-17 07:48:28 +00:00
jkoshy
9b75f72988 Use LK_CANRECURSE since when a PMC-owning process performs an exec,
the new text vnode is already locked by itself.

MFC after:	3 days
2005-07-17 04:18:06 +00:00
jhb
c7383aebd6 Convert the atomic_ptr() operations over to operating on uintptr_t
variables rather than void * variables.  This makes it easier and simpler
to get asm constraints and volatile keywords correct.

MFC after:	3 days
Tested on:	i386, alpha, sparc64
Compiled on:	ia64, powerpc, amd64
Kernel toolchain busted on:	arm
2005-07-15 18:17:59 +00:00