14657 Commits

Author SHA1 Message Date
harti
cfaf71ad4b This driver has been MPSAFE from the beginning so declare the interrupt
as such.

Reminded by:	rwatson@
2006-03-21 14:56:42 +00:00
harti
470a08aa5e This driver has been MPSAFE from the beginning, so declare the interrupt
as such.

Reminded by:	rwatson@
2006-03-21 14:54:42 +00:00
yongari
95a983bc16 Backout rev. 1.46. It caused Rx checksum offload breakage on little
endian systems.

Reported by:	joerg
Tested by:	joerg
2006-03-21 12:21:51 +00:00
ariff
6e1625d978 Apply more thorough fixes while dealing with device opening and closing:
- Determine open direction using 'flags', not 'mode'. This bug exist since
  past 4 years.
- Don't allow opening the same device twice, be it in a same or different
  direction.
- O_RDWR is allowed, provided that it is done by a single open (for example
  by mixer(8)) and the underlying hardware support true full-duplex operation.
- Do various paranoid checking in case other process/thread trying to hijack
  the same device twice (or more).

MFC after:	5 days
2006-03-21 06:35:48 +00:00
ariff
c23b0abf4f Recover (?) support for AD1815 based ISA soundcards.
PR:		kern/94388
Submitted by:	Krzysztof Kotlenga <piernik at gmail dot com>
MFC after:	3 days
2006-03-21 03:47:25 +00:00
iedowse
d4f801f4ab Oops - fix the build in the !USB_DEBUG case. 2006-03-18 17:57:34 +00:00
iedowse
d6749fb19b Let the EHCI hardware track the toggle state for bulk and interrupt
transfers. This fixes some cases where the software toggle tracking
was not doing the right thing. For example, a short transfer that
transferred 0 bytes of the requested qTD transfer size does cause
a toggle change, but the existing code was assuming it didn't.

Reported and tested by: pav
MFC after:	2 weeks
2006-03-18 13:55:16 +00:00
sos
c1d9ed7049 Properly use the sense key info 2006-03-18 13:14:38 +00:00
jkoshy
ba6139a897 When deconfiguring a log, only stop PMCs that are in the RUNNING
state.
2006-03-18 03:54:07 +00:00
iedowse
e4e5cf764a Sony DSC cameras with revision number 6.0 require the same quirk
as those reporting revision 5.0.

Reported by:	Brian Reichert
MFC after:	1 week
2006-03-17 18:16:22 +00:00
glebius
1131839756 Remove dead code.
Submitted by:	oleg
2006-03-17 09:17:36 +00:00
mjacob
5976ce32c3 If we actually succeed in the Task Management Function where we
are aborting timed out commands, pull the request off the TAILQ.
2006-03-17 04:54:06 +00:00
mjacob
4a446c8f7d In mpt_complete_request_chain don't depend on somebody else to
remove the request from the TAILQ.
2006-03-17 04:52:27 +00:00
jhb
87b2271d28 Add device-id for the Neteasy DRP-32TXD cardbus 10/100 card. It's another
ADMTek AN985 clone.

MFC after:	3 days
Tested by:	Lila liladude at aruba dot it
2006-03-16 20:00:39 +00:00
jkoshy
48046f6ef3 When compiled with -DDEBUG, only print the old value of a PMC in a
debugging message if the flag PMC_F_OLDVALUE was specified in the
PMC_OP_RW request being acted upon.  This should fix Coverity bug
CID 671.

Found by:	Coverity Prevent
MFC after:	3 weeks
2006-03-16 16:32:56 +00:00
ariff
5dcaf86e4a Restore CHN_F_BUSY flag which was removed accidentally in previous commit. 2006-03-16 08:01:10 +00:00
ariff
865b6c5d99 Fix severe 8bit integer overflow during channel creation and destruction,
especially for vchans. It turns out that channel numbering always depend
on d->devcount counter (which keep increasing), while PCMMKMINOR() truncate
everything to 8bit length. At some point the truncation cause the newly
created character device overlapped with the existence one, causing erratic
overall system behaviour and panic. Easily reproduce with something like:

	(Luckily, only root can reproduce this)

	while : ; do
		sysctl hw.snd.pcm0.vchans=200
		sysctl hw.snd.pcm0.vchans=100
	done

- Enforce channel/chardev numbering within 8bit boundary. Return E2BIG
  if necessary.
- Traverse d->channels SLIST and try to reclaim "free" counter during channel
  creation. Don't rely on d->devcount at all.
- Destroy vchans in reverse order.

Anyway, this is not the fault of vchans. It is just that vchans are so cute
and begging to be abused ;) . Don't blame her.

Old, hidden bugs.. sigh..

MFC after:	3 days
2006-03-16 04:12:49 +00:00
takawata
27a5754a56 Add ALPS glide point ID and some compatibility IDs.
PR: kern/75008
2006-03-15 07:04:33 +00:00
damien
62c5cabd64 Don't read channel list from EEPROM since we were already scanning all
802.11b channels (1-14) regardless of what EEPROM says.
2006-03-13 20:05:32 +00:00
sos
936cd92dd2 Add support for the JMicron JMB361, 365 and 366 chips.
HW and documentation kindly provided by JMicron.
2006-03-13 14:01:37 +00:00
sos
ad0f6e357b Put autosense data in the right place (needs a 4pos left shift). 2006-03-13 14:00:08 +00:00
damien
c30e4662de sync w/ iwi:
o fix locking
o use firmware(9)
o cosmetic
2006-03-12 19:01:00 +00:00
damien
0deb63e384 o don't use '-' characters in firmware names
o call firmware_put() early to release the firmware module
o on firmware panics or watchdog timeouts, schedule a task to reinitialize
  the interface (we may sleep in iwi_init())
o discard oversized rx frames
2006-03-12 18:54:40 +00:00
phk
4bed556ee9 Don't be noisy in case of shared interrupts. 2006-03-11 15:39:22 +00:00
damien
aeed4af186 add dependency with firmware module.
pointed out by Martin Wilke.
2006-03-11 13:30:21 +00:00
ru
c9697894bf Fix build. 2006-03-11 08:36:15 +00:00
philip
dffb931651 Fix multicast support for cs89x0 chips. Just setting the RX_MULTCAST_ACCEPT
flag isn't enough - the filter needs to be set up too, or no multicast frames
are accepted.

Sponsored by:	Philips Industrial Applications (indirectly)
MFC after:	3 days
2006-03-10 23:50:53 +00:00
damien
799fc2f615 o acknowledge interrupts early in the interrupt handler
o stop processing interrupts after a firmware fatal error or a radio kill
o clarify the possible values for the 'antenna' sysctl.
o by default, let the firmware do antenna diversity.
  the  firmware will periodically switch to another antenna to evaluate the
  signal quality.
2006-03-10 20:35:09 +00:00
damien
fb0aee8aca make use of the firmware(9) subsystem.
use intel's firmware version 3.0 layout.
2006-03-10 19:59:09 +00:00
sos
5419ca4c93 Module that adds support for using USB storage devices through the
ATA framework. Mainly written to be able to use USB Flash keys.
This is work in progress so use with care :)
Doesn't need CAM and cannot coexist with umass.c
2006-03-10 19:08:52 +00:00
damien
25007ede44 fix the locking. 2006-03-10 18:55:30 +00:00
sos
c8d0fc841f write the right unit # on verbose output. 2006-03-10 12:20:53 +00:00
imp
4e16f81076 Don't dereference an uninitialized pointer. 2006-03-09 16:28:24 +00:00
sos
05ddef3112 Only use the channel in the request given to ata_completed if its
still present.
2006-03-09 10:25:35 +00:00
sos
e55404d344 typo. 2006-03-09 10:24:03 +00:00
sos
2ba86f7da2 Get rid of all the "long long"/"maxint" casting around in printf's.
On all our platforms intmax == int64_t so simply using %j to print
int64_t's is safe all over, and doesn't pullute the code.
2006-03-09 08:34:44 +00:00
jkoshy
cc4ea0b46d When a process is de-configuring a log file, also stop all of its
PMCs that require a log file to operate.  This change should fix
PR 90269.

PR:		kern/90269
MFC after:	1 week
2006-03-09 02:08:12 +00:00
sam
24275d6640 correct ni_txrate when using a fixed rate; fixes current rate reporting
MFC after:	3 days
2006-03-09 00:28:44 +00:00
sos
6835aad53c ATA_USB will need to hook into the delayed boot identify to have
interrupts running, so externalize it.
2006-03-08 16:39:01 +00:00
sos
d7b5daa52e Always read the TOC in acd_read_toc even if MEDIA_CHANGED wasn't set.
Since we cannot (reliably) detect when media has been removed before we
try to touch it, this could leave stale TOC's around.
2006-03-08 10:14:39 +00:00
sos
d987f74f35 Bail out of afd_sense if ENODEV. 2006-03-08 09:21:48 +00:00
jhb
d40196102f Clean up the way we handle auxiliary commands for a given ddb command
table.  Previously, the ddb code knew of each linker set of auxiliary
commands and which explicit command list they were tied to.  These changes
add a simple command_table struct that contains both the static list of
commands and the pointers for any auxiliary linker set of additional
commands.  This also makes it possible for other arbitrary command tables
to be defined in other parts of the kernel w/o having to edit ddb itself.

The DB_SET macro has also been trimmed down to just creating an entry in
a linker set.  A new DB_FUNC macro does what the old DB_SET did which is
to not only add an entry to the linker set but also to include a function
prototype for the function being added.  With these changes, it's now also
possible to create aliases for ddb functions using DB_SET() directly if
desired.
2006-03-07 22:17:06 +00:00
damien
017207e77b Disable 802.11e support for now. Did some cleanup while I'm here. 2006-03-07 20:48:23 +00:00
mjacob
8ab5ca4a3f Add a serial number for requests so we don't just depend on a request pointer
to try and do forensics on what has occurred.
2006-03-07 17:56:40 +00:00
sos
0c7a140bbc Poll device for readiness before trying to get geometry etc. 2006-03-07 16:05:38 +00:00
sos
d56d32f380 Only look for ICRC and CORR errors on ATA devices not ATAPI. 2006-03-07 14:27:54 +00:00
ariff
8410a7ea6c Add another inverted amplifier sense quirk for Kvazar-Micro Senator 3592XT.
Submitted by:	[1] Alexandr Krivulya <admin at marcom-group.com>
MFC after:	3 days

[1] http://lists.freebsd.org/pipermail/freebsd-multimedia/2006-March/003773.html
2006-03-07 05:48:14 +00:00
mlaier
042a9c9ce3 Fix the build. %ju prints uintmax_t not unsigned long long (which is
actually "longer" than uintmax_t for the understanding of printf).
2006-03-06 16:02:06 +00:00
silby
b5d256606e Fix include paths to make this compile. 2006-03-05 23:27:51 +00:00
sos
5d4e90d775 Add USB modes. 2006-03-05 21:32:38 +00:00