Commit Graph

10907 Commits

Author SHA1 Message Date
Bernd Walter
7de8778318 add driver for BWCT console management serials 2004-03-01 02:34:49 +00:00
Colin Percival
e07113d65c Use DEV_BSIZE byte sectors instead of PAGE_SIZE byte sectors for
swap-backed memory disks.  This reduces filesystem allocation overhead
and makes swap-backed memory disks compatible with broken code (dd,
for example) which expects to see 512 byte sectors.  The size of a
swap-backed memory disk must still be a multiple of the page size.

When performing page-aligned operations, this change has zero
performance impact.

Reviewed by:	phk
Approved by:	rwatson (mentor)
2004-02-29 15:58:54 +00:00
Poul-Henning Kamp
db42ff97da Remove unused FDNUMTOUNIT() macro 2004-02-29 10:21:40 +00:00
Søren Schmidt
9a19089d86 Rearrange sense_key and sense_data to get alignment right.
Submitted by: Marcel
2004-02-29 09:35:29 +00:00
Scott Long
474e30f0b1 All three of these drivers abused cv_waitq_empty in the same way by spinning
on it in hopes of making sure that the waitq was empty before going on.
This wasn't needed and probably never would have worked as intended.  Now
that cv_waitq_empty() and friends are gone, the code in these drivers that
spins on it can go away too.  This should unbreak LINT.

Discussed with:	kan
2004-02-29 09:26:01 +00:00
Nate Lawson
2881b39793 Call _INI on Thermal Zones as well as devices. 2004-02-28 22:43:18 +00:00
Poul-Henning Kamp
3e2c971172 Add a generic watchdog facility which through a single device entry
in /dev controls all available watchdog implementations.
2004-02-28 20:06:59 +00:00
Don Lewis
a3193a9ca3 Create a new mutex type for virtual channels. This allows us to get
rid of the MTX_DUPOK flag on channel mutexes, which allows witness to
do a better job of lock order checking.  Nuke snd_chnmtxcreate() since
it is no longer needed.

Tested by:	matk
2004-02-28 19:47:02 +00:00
Don Lewis
466f31e55b Lock channels only as necessary in dsp_ioctl(), and only lock one
channel at a time unless it is actually necessary to lock both.
This avoids problems with lock order reversal and malloc() calls
with a mutex held when lower level code unlocks a channel, calls malloc(),
and relocks the channel.  This also avoids the cost of some  unnecessary
locking and unlocking.

Tested by:	matk
2004-02-28 19:42:48 +00:00
Scott Long
b234a120c8 Switch from using mutexes to using semaphores to protect against early
completion of synchronous commands.  Also switch to a per-array bioq as it
appears to improve performance.

Submitted by:	mbr, imp.ch (bioq change)
2004-02-28 19:14:41 +00:00
Søren Schmidt
dc7485d940 Issue a request sense command automagically when ATAPI commands fail
with a valid sense key.
2004-02-28 17:47:27 +00:00
MIHIRA Sanpei Yoshiro
7f869e12d8 Sync to 1.163 of usbdevs 2004-02-28 00:15:08 +00:00
MIHIRA Sanpei Yoshiro
cdd40f3bd6 add support DM9601(DAVICOM USB to Ethernet MAC Controller with Integrated 10/100 PHY)
- Corega FEther USB-TXC

PR:		kern/62932
Submitted by:	HASHI Hiroaki <hashiz@tomba.cskk-sv.co.jp>
Obtained from:	NetBSD
2004-02-28 00:12:47 +00:00
Poul-Henning Kamp
503799ea5c Make mode setting with fdcontrol(8) stick.
Recognize when configured for "auto".
2004-02-25 13:44:58 +00:00
Johan Karlsson
ca9c567178 Fix style bug in last commit,
add a tab after WARNS?=.

While I'm here fix other style bugs.

Submitted by:	bde (libbdf/Makefile)
2004-02-25 13:12:51 +00:00
Søren Schmidt
1c342d89ce Add support for the sii3512 SATA chip. 2004-02-25 09:55:49 +00:00
Scott Long
75fba44b93 Revert the last commit. I don't know what I was thinking, but this change
definitely doesn't help any thing.
2004-02-25 05:41:44 +00:00
Johan Karlsson
129d092a20 style.Makefile(5):
Use WARNS?= instead of WARNS=.

While I'm here,
	use INTERNALPROG, instead if overriding install
	remove emty lines
2004-02-24 20:51:20 +00:00
Bruce Evans
63a97efcbb Don't set d_flags twice. The second setting clobbered D_NOGIANT. 2004-02-24 04:35:44 +00:00
Roman Kurakin
cee1270c1a Add support for Cronyx-Tau. For now I added only Tau-ISA files, system files
would be changed in next patches, after extra verifications.

Approved by: imp (mentor)
2004-02-23 20:19:00 +00:00
John Baldwin
1f220d57d6 Fix a problem with the USB keyboard driver not properly handling key
rollover resulting in duplicate keypress events.

PR:		57273
PR:		63171
Submitted by:	plasma <plasma at freebsd.sinica.edu.tw>
Submitted by:	Brian Candler <B.Candler at pobox.com>
MFC after:	1 week
2004-02-23 15:36:40 +00:00
Poul-Henning Kamp
6fe9c1609f Fix vinums cdevsw{} to initialize d_version.
The nonstandard formatting made my mega-patch scripts miss it.

Retire the static major number while we're here anyway.

Reported by:	Niels Chr. Bank-Pedersen <ncbp@bank-pedersen.dk>
2004-02-23 08:55:13 +00:00
Robert Watson
033d9ae179 Limit the amount of memory userspace processes can cause the kernel to
allocate via DRI on r128 devices.

Obtained from:	Thomas Biege <thomas@suse.de>
Reviewed by:	scottl
2004-02-23 03:18:18 +00:00
Maxime Henrion
e77e9e1ba8 Unbreak after the change to use vm_paddr_t. Since vm_paddr_t is
an integer type and the a cast to (void *) was added in the
definition of NULL for the kernel, we need to use 0 here instead.

Partly submitted by:	cperciva
2004-02-22 16:27:28 +00:00
Colin Percival
9a6caa1afc Check that amrd_sc is non-NULL before dereferencing it, not after.
Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor)
2004-02-22 10:00:05 +00:00
Colin Percival
cd8aaf2121 Check that twed_sc is non-NULL before dereferencing it, not after.
Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor)
2004-02-22 09:58:34 +00:00
Colin Percival
1f0c8eae54 Don't free k_cfg until we're finished using it -- reverse the order of
two free commands.

Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor), scottl
2004-02-22 09:55:48 +00:00
Colin Percival
caa32ef5c2 Don't free meo until we're finished using it.
Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor), scottl
2004-02-22 09:52:46 +00:00
Colin Percival
a333b323e1 Check that xfer != NULL before dereferencing it, not after.
Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor)
2004-02-22 01:10:11 +00:00
Colin Percival
bff4678e78 If we're going to assert that logData != NULL, do it before we
try to dereference logData.

Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor), scottl
2004-02-22 01:08:33 +00:00
Colin Percival
8d4fdfaf45 We want to allocate and zero sizeof(struct foo) bytes, not
sizeof(struct foo *) bytes.

Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor), scottl
2004-02-22 01:06:05 +00:00
Colin Percival
27021df2ff Fix off-by-one error: sc->twe_drive is an array of TWE_MAX_UNITS elements.
Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor)
2004-02-22 01:03:38 +00:00
Poul-Henning Kamp
816d62bbb9 Device megapatch 5/6:
Remove the unused second argument from udev2dev().

Convert all remaining users of makedev() to use udev2dev().  The
semantic difference is that udev2dev() will only locate a pre-existing
dev_t, it will not line makedev() create a new one.

Apart from the tiny well controlled windown in D_PSEUDO drivers,
there should no longer be any "anonymous" dev_t's in the system
now, only dev_t's created with make_dev() and make_dev_alias()
2004-02-21 21:32:15 +00:00
Poul-Henning Kamp
dc08ffec87 Device megapatch 4/6:
Introduce d_version field in struct cdevsw, this must always be
initialized to D_VERSION.

Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing
four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
2004-02-21 21:10:55 +00:00
Poul-Henning Kamp
8e1f1df080 Device megapatch 3/6:
Add missing D_TTY flags to various drivers.

Complete asserts that dev_t's passed to ttyread(), ttywrite(),
ttypoll() and ttykqwrite() have (d_flags & D_TTY) and a struct tty
pointer.

Make ttyread(), ttywrite(), ttypoll() and ttykqwrite() the default
cdevsw methods for D_TTY drivers and remove the explicit initializations
in various drivers cdevsw structures.
2004-02-21 20:41:11 +00:00
Poul-Henning Kamp
b0b0334878 Device megapatch 2/6:
This commit adds a couple of functions for pseudodrivers to use for
implementing cloning in a manner we will be able to lock down (shortly).

Basically what happens is that pseudo drivers get a way to ask for
"give me the dev_t with this unit number" or alternatively "give
me a dev_t with the lowest guaranteed free unit number" (there is
unfortunately a lot of non-POLA in the exact numeric value of this
number, just live with it for now)

Managing the unit number space this way removes the need to use
rman(9) to do so in the drivers this greatly simplifies the code in
the drivers because even using rman(9) they still needed to manage
their dev_t's anyway.

I have taken the if_tun, if_tap, snp and nmdm drivers through the
mill, partly because they (ab)used makedev(), but mostly because
together they represent three different problems for device-cloning:

if_tun and snp is the plain case: just give me a device.

if_tap has two kinds of devices, with a flag for device type.

nmdm has paired devices (ala pty) can you can clone either of them.
2004-02-21 20:29:52 +00:00
Poul-Henning Kamp
c9c7976f7f Device megapatch 1/6:
Free approx 86 major numbers with a mostly automatically generated patch.

A number of strategic drivers have been left behind by caution, and a few
because they still (ab)use their major number.
2004-02-21 19:42:58 +00:00
Hartmut Brandt
7563a29b85 Use the more appropriate vm_paddr_t in places where a physical
address for DMA is handled instead of pointers.

Submitted by:	Joerg Sonneberger <joerg@britannica.bec.de>
2004-02-21 19:08:23 +00:00
Søren Schmidt
056b9907de Dont alloc size 0 buffers. 2004-02-21 18:30:03 +00:00
Søren Schmidt
73f8099662 Check both PORTEN and MEMEN for enabled HW. 2004-02-21 18:21:13 +00:00
Søren Schmidt
0c7ab1146f Only register interrupt as seen if it was a real HW interrupt. 2004-02-21 16:55:10 +00:00
Hartmut Brandt
bf30351bdc Make sure that the first mbuf in the chain passed to atm_intr
always contains a packet header.
2004-02-21 13:01:54 +00:00
Hartmut Brandt
962956583e The token for atm_intr is actually a void *, not an int. Clarify
what atm_intr expects in a comment and de-obfuscate the code a little
bit by replacing the portability macros with the native BSD names.
2004-02-21 12:59:14 +00:00
Scott Long
41a1325df9 Fix a major brain-o. If the command needs to be put on the deferred queue,
take it off of the busy queue first.  This should fix the 'command is on
another queue' panic that showed up recently.
2004-02-21 05:32:40 +00:00
Olivier Houchard
fdf2a3468a Do not test if pDCB is not NULL, we dereference it before anyway, and it
should not happen. Add a KASSERT instead.

Reported by:	Ted Unangst <tedu@coverity.com>
Spotted out by:	cperciva
2004-02-20 20:36:55 +00:00
Mathew Kanner
0a2a8111d2 Fix a glitch in my last commit and revert to using selwakeuppri
Noticed by:	tanimura
Noticed by:	truckman
2004-02-20 01:24:57 +00:00
Wilko Bulte
91bdd189c6 Make uscanner recognise EPSON Perfection 3200. Tested with xsane.
PR: kern/63041
MFC after: 3 days
2004-02-19 22:05:10 +00:00
Wilko Bulte
c09eddb36d Add EPSON Perfection 3200 scanner. 2004-02-19 22:01:28 +00:00
Wilko Bulte
1e96c62e79 Add EPSON Perfection 3200 scanner 2004-02-19 21:58:23 +00:00
Nate Lawson
abcbc5bc60 Use ACPI_NEXT_RESOURCE instead of defining our own copy. The one provided
with ACPI-CA is identical now.
2004-02-19 18:20:03 +00:00