Commit Graph

51666 Commits

Author SHA1 Message Date
Warner Losh
a731bf6779 Use the FreeBSD standard license, since there's no reason to use the
version I have here.
2005-01-11 05:33:18 +00:00
SUZUKI Shinsuke
017bee7424 KAME-IPSEC has already supports TCP_SIGNATURE(IPv4) 2005-01-11 04:24:17 +00:00
Warner Losh
5e4470116c There are no PC98 amd64 machines, so gc a few stray ifdefs. 2005-01-11 03:44:17 +00:00
Bosko Milekic
c5c1b16ec5 While we want the recursion protection for the bucket zones so that
recursion from the VM is handled (and the calling code that allocates
buckets knows how to deal with it), we do not want to prevent allocation
from the slab header zones (slabzone and slabrefzone) if uk_recurse is
not zero for them.  The reason is that it could lead to NULL being
returned for the slab header allocations even in the M_WAITOK
case, and the caller can't handle that (this is also explained in a
comment with this commit).

The problem analysis is documented in our mailing lists:
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=153445+0+archive/2004/freebsd-current/20041231.freebsd-current

(see entire thread for proper context).

Crash dump data provided by: Peter Holm <peter@holm.cc>
2005-01-11 03:33:09 +00:00
Maksim Yevmenkin
980b8b89eb Make default RFCOMM session MTU match default L2CAP MTU.
This is just a workaround for a know problem with Motorola E1000
phone. Something is wrong with the configuration of L2CAP/RFCOMM
channel. Even though we set L2CAP MTU to 132 bytes (default RFCOMM
MTU 127 + 5 bytes RFCOMM frame header) and the phone accepts it,
the phone still sends oversized L2CAP packets. It appears that the
phone wants to use bigger (667 bytes) RFCOMM frames, but it does
not segment them according to the configured L2CAP MTU. The 667
bytes RFCOMM frame size corresponds to the default L2CAP MTU of
672 bytes (667 + 5 bytes RFCOMM frame header).

This problem only appears if connection was initiated from the
phone. I'm not sure who is at fault here, so for now just put
workaround in place. Quick look at the spec did not reveal any
anwser.

Tested by:	Jes < jjess at freebsd dot polarhome dot com >
MFC after:	3 days
2005-01-11 01:39:53 +00:00
Warner Losh
d6c7f7a122 Final attempt to make aha 1542A working. If not, oh well, I don't
have the card and no way to reproduce problems.  We do this by
applying the workaround to firmware revsion 0.

PR: 14334
2005-01-11 01:17:07 +00:00
Warner Losh
c80b5ef285 puc handles this card, so remove it from here.
PR: 48468
2005-01-11 00:53:58 +00:00
Warner Losh
703ef1e74c Properly calculate the offset in mapping the memory of pccards. This
allows my 3com cards to work again.  It appears that this code was
once there, but I removed it when I added the alignment issues.

MFC After: 5 days
PR: 70639 (and likely others)
2005-01-11 00:32:43 +00:00
Olivier Houchard
9026d36c6e Add support for ptrace() and gdb breakpoints. 2005-01-10 22:43:16 +00:00
Olivier Houchard
8b64f2f5ad Don't assume pmap_update() will cpwait for us, pmap_update will disappear soon. 2005-01-10 22:41:08 +00:00
Stefan Farfeleder
1e183df21e ISO C requires at least one element in an initialiser list. 2005-01-10 20:30:04 +00:00
Poul-Henning Kamp
b630d6f15a whitespace 2005-01-10 13:09:33 +00:00
SUZUKI Shinsuke
6910b9ebdb fixed an unexpected addr/port matching failure in IPv6 SA management
PR: kern/72393
MFC after: 3 days
2005-01-10 13:06:42 +00:00
Philip Paeps
df616c9022 Make life for owners of Synaptics Touchpads more pleasant :-)
o Implement a shiny new algorithm to keep track of finger movement at
   slow speeds.  This dramatically reduces the level of questionable
   language from users trying to resize windows.

 o Properly catch the many extra buttons and dials which manufacturers
   are known to screw onto Synaptics touchpad controllers.  Currently,
   up to seven buttons are known to work, more should work too.

 o Add a number of sysctls allowing one to tune the driver to taste in
   a simple way:

     # Should the extra buttons act as axes or as middle button
     hw.psm.synaptics.directional_scrolls

     # These control the 'stickiness' at low speeds
     hw.psm.synaptics.low_speed_threshold
     hw.psm.synaptics.min_movement
     hw.psm.synaptics.squelch_level

PR:		kern/75725
Submitted by:	Jason Kuri <jay@oneway.com>
MFC after:	1 month
2005-01-10 13:05:58 +00:00
Brian Somers
2a4cd52421 include "alias.h", not <alias.h>
MFC after:	3 days
2005-01-10 10:54:06 +00:00
Ruslan Ermilov
37c3875846 Reimplement the fix in rev. 1.126.
OK'ed by:	phk
2005-01-10 09:56:47 +00:00
Warner Losh
f829c24893 don't pollute global namespace with valid_Ether_p, instead, prepend
fe_ to it.
2005-01-10 09:29:48 +00:00
Warner Losh
eae30283ee NE200 -> NE200T 2005-01-10 08:08:30 +00:00
Warner Losh
29819e278a Tweaks to the name of this card, based on input from Sean Shapira. 2005-01-10 08:07:41 +00:00
Warner Losh
bfd902391f Remove matcd. It isn't in the build, has issues and can be retired.
Submitted by: trhodes (the real one)
Approved by: core, mdodd, uhclem
2005-01-10 08:00:14 +00:00
Warner Losh
2948a1cb52 sort more things alphabetically 2005-01-10 05:11:40 +00:00
Warner Losh
1307b81e55 Sort entries.
Remove a couple of 'card' lines that were somehow missed when OLDCARD was
desupported.
2005-01-10 04:40:23 +00:00
Warner Losh
54c387fff6 Sort entires better. 2005-01-10 04:38:58 +00:00
Warner Losh
47cb54ecd0 Add support for:
fe1: <EAGLE Technology NE200 ETHERNET LAN MBH10302  04>

As reported by Sean Shapira.  This appears to be working.  Eagle used
Fujitsu's vendor number, with a product number of 4 (which is the same
as the vendor number, which is a little suspect).  Since there's no
apparent conflict, go ahead and use it.

Submitted by: Sean Shapira
2005-01-10 03:48:17 +00:00
Warner Losh
cc020351cd Add Eagle NE200 Ethernet LAN MBH10302 card. This appears to be a fe
card, and works with that driver.  However, Eagle is using Fujitsu's
vendor number and a product code of 4, which seems a little odd.
Still, there's no conflicts...
2005-01-10 03:45:21 +00:00
Doug White
f7f3c3e1a6 Free the shared devq last since CAM expects it to be there if
xpt_alloc_device() gets called, which can happen during detach in
certain situations. Fixes module unload.

MFC after:	3 days
2005-01-10 02:34:26 +00:00
Julian Elischer
4f93332f16 fix a "little-endian-big-endian confusion that luckily:
1/ doesn't matter on most of our architectures
2/ will never happen unless we start queueing multiple trasactions
to a single endpoint at one time (which we do not allow yet).
If anyone has a big_endian machine with EHCI they might check this
if they are having problems with EHCI but it's unlikely even there..

Submitted by:	Hans Petter Selasky <hselasky@c2i.net>
MFC after:	3 days
2005-01-09 23:49:45 +00:00
Peter Edwards
5c33db12dc Only update the boot sector when there is a valid drive number provided.
(After squeezing a few more bytes out of boot0)

Discussed With: jhb, julian
PR: 66248
Submitted By: Hans Petter Selasky
MFC After: 1 week
2005-01-09 23:30:35 +00:00
Warner Losh
e253961839 In my last commit, I'd assumed that LINE30 was always defined. It
turns out that LINE30_ROW was always defined, not LINE30.  I confused
this for LINE30 and did the unifdef -DLINE30 using that mistaken
belief.  This corrects that problem.

Submitted by: nyan-san
2005-01-09 22:17:39 +00:00
Sam Leffler
b03eb9a092 correct direction for bus_dma sync of rx buffer
Submitted by:	Tai-hwa Liang
2005-01-09 19:57:55 +00:00
Marcel Moolenaar
ce05a617a9 Don't panic when we're asked to allocate a resource type that we know
won't exist for EBus. Just fail the allocation by returning NULL.
Now drivers that are MI can try resources that the driver knows may
be used by the device.
2005-01-09 18:58:08 +00:00
Olivier Houchard
4ca2d068fb Use uint32_t instead of u_long when appropriate.
That's enough to make my bt848 work on amd64.

MFC after:	1 week
2005-01-09 17:42:03 +00:00
Pawel Jakub Dawidek
437566858a Increase default synchronization speed.
MFC after: 3 days
2005-01-09 14:43:39 +00:00
Robert Watson
66d165347d Mark the IPX netisr as MPSAFE so that inbound IPX traffic is processed
without Giant, and can be directly dispatched in the ithread when
net.isr.enable is turned on.

MFC after:	4 weeks
2005-01-09 07:34:55 +00:00
Robert Watson
e926c0ae48 Recent changes have locked down most of the highly dynamic data
structures in IPX/SPX -- primarily, sequence numbering, PCB lists,
and PCBs for IPX raw sockets, IPX datagram sockets, and IPX/SPX.
As such, remove remove NET_NEEDS_GIANT() for IPX, and remove the
assertion of Giant in the ipxintr() IPX input path.

Note that IPX/SPX is not fully MPSAFE, and that there are some
problems with IPX/SPX locking that will require some further work.
However, it is now safe enough to run in general without the Giant
lock.

MFC after:	4 weeks
2005-01-09 05:34:37 +00:00
Robert Watson
2082ca5d57 Use the IPX PCB list mutex and IPX PCB mutexes to lock down the SPX
portion of IPX/SPX:

- Protect IPX PCB lists with the IPX PCB list mutex, in particular
  when calling PCB and PCB list manipulation routines in ipx_pcb.c.
- Protect both IPX PCB state and SPX PCB state using the IPX PCB
  mutex.
- Generally annotate locking, as well as adding liberal use of lock
  assertions to document locking requirements.
- Where possible, use unlocked reads when reading integer or smaller
  sized socket options on SPX sockets.
- De-spl throughout.

Notes:

- spx_input() expects both the list mutex and PCB mutex to be held
  on entry, but will release both on return.  Because sonewconn() is
  called from spx_input(), it may actually drop one PCB lock and
  acquire another during generation of a new connection, meaning the
  caller is not in a position to unlock the PCB mutex.

MFC after:	3 weeks
2005-01-09 05:31:16 +00:00
Robert Watson
2375a5a16a Clean up return handling for a number of SPX-related routines that
were derived from more complex TCP versions of the same:

- spx_close(), spx_disconnect(), spx_drop(), and spx_usrclosed() all
  always free's the spxpcb invalidating the argument, so a return
  value is not required to indicate if it has.
- Annotate that the cb arguments to each of these functions is
  invalidated via a comment.
- When tearing down a pcb due to sonewconn() having failed, mark the
  cb as NULL; later, when deciding whether to store trace information
  due to SO_DEBUG, check that cb is not NULL before dereferencing or
  a NULL pointer dereference may occur.

MFC after:	3 weeks
2005-01-09 05:25:02 +00:00
Robert Watson
971365a711 Protect ipx_pexseq with the IPX PCB list mutex.
When processing socket options against IPX PCBs, generally protect
PCB fields using the IPX PCB mutex.  Where possible, use unlocked
reads on integer values to avoid locking overhead.

MFC after:	3 weeks
2005-01-09 05:15:59 +00:00
Robert Watson
0caa61a005 Acquire or assert the IPX PCB list lock or IPX PCB lock during various
protocol methods relating to IPX.  Conditionally acquire the PCB list
lock in the send operation only if the socket requires binding in order
to use the requested address.

Remove spl's generally no longer required during these accesses.

MFC after:	3 weeks
2005-01-09 05:13:14 +00:00
Robert Watson
0c3833b6ba Assert or acquire the IPX PCB list lock or IPX PCB locks throughout
the IPX-related PCB routines.  In general, the list lock is required
to iterate the PCB list, either for read or write; the PCB lock is
required to access or modify a PCB.  To change the binding of a PCB,
both locks must be held.

MFC after:	3 weeks
2005-01-09 05:10:43 +00:00
Robert Watson
31f1a840d9 Hold the IPX PCB mutex around calls to ipx_input() in the IPX input
path.

MFC after:	3 weeks
2005-01-09 05:08:47 +00:00
Robert Watson
992e1a5842 Hold the global IPX PCB list mutex in the IPX input path when walking
the IPX PCB list.

MFC after:	3 weeks
2005-01-09 05:06:19 +00:00
Robert Watson
c2b563b532 Introduce a global mutex, ipxpcb_list_mtx, to protect the global
IPX PCB lists.  Add macros to initialize, destroy, lock, unlock,
and assert the mutex.  Initialize the mutex when IPX is started.

Add per-IPX PCB mutexes, ipxp_mtx in struct ipxpcb, to protect
per-PCB IPX/SPX state.  Add macros to initialize, destroy, lock,
unlock, and assert the mutex.  Initialize the mutex when a new
PCB is allocated; destroy it when the PCB is free'd.

MFC after:	2 weeks
2005-01-09 05:00:41 +00:00
Robert Watson
9d98ffa087 In ipx_setsockaddr(), use M_WAITOK instead of M_NOWAIT so that the
call always succeeds, avoiding causing the caller to return success
even though the returned *sockaddr is NULL.

MFC after:	2 weeks
2005-01-09 04:47:42 +00:00
Robert Watson
f7bca2686a Eliminate jump to 'bad' label in order to clean up the ipx_input()
return/unwind path for locking work.

MFC after:	2 weeks
2005-01-09 04:39:16 +00:00
Alan Cox
5ba514bc89 Move the acquisition and release of the page queues lock outside of a loop
in vm_object_split() to avoid repeated acquisition and release.
2005-01-08 23:41:11 +00:00
Warner Losh
e36e54501e Remove support for FreeBSD < 4.recent from this driver. 2005-01-08 22:52:00 +00:00
Warner Losh
8080d4d196 Remove vnode.h and adjust includes to compensate for pollution. 2005-01-08 22:43:33 +00:00
Warner Losh
75a323c107 LINE30 is always defined now, so unifdef -DLINE30 for clarity. 2005-01-08 22:29:53 +00:00
Warner Losh
3e4ad73535 Merge module.h into 30line.h and remove it. It lacked a
copyright/license header and was only used by 30line.h.  It appears
that the copyright/license in 30line.h covers the old contents
module.h anyway, so this simplifies things a little while cleaning up
one obscure potential license confusion...

Revired by: nyan-san
2005-01-08 22:29:23 +00:00
Gleb Smirnoff
1c7899c74e This change adds reliability for Ethernet trunks built with ng_one2many:
- Introduce another ng_ether(4) callback ng_ether_link_state_p, which
  is called from if_link_state_change(), every time link is changed.
- In ng_ether_link_state() send netgraph control message notifying
  of link state change to a node connected to "lower" hook.

Reviewed by:	sam
MFC after:	2 weeks
2005-01-08 12:42:03 +00:00
Nate Lawson
33332dc271 In total violation of at least 4 sections in the ACPI spec, some systems
place device objects in \ (in this case, PCI links.)  Work around this by
starting our probe from \.  To avoid attaching system scope objects,
explicitly skip them.  (I think it's an ACPI-CA bug that \_SB and \_TZ have
device and thermal object types.)  Thanks to pjd@ for testing.

MFC after:	2 weeks
2005-01-08 09:10:20 +00:00
David Xu
3e380f0d3d Break out of loop earlier if it is not timeout. 2005-01-08 06:57:46 +00:00
Robert Watson
f644bbc45c Annotate that pfs_exit() always acquires and releases two mutexes for
every process exist, even if procfs isn't mounted.  And one of those
mutexes is Giant.  No immediate thoughts on fixing this.
2005-01-08 04:56:38 +00:00
Robert Watson
2b05b557ff In acct_process(), do a lockless read of acctvp to see if it's NULL
before deciding to do more expensive locking to account for process
exit.  This acceptable minor race avoids two mutex operations in
that highly common case of accounting not being enabled.

MFC after:	2 weeks
2005-01-08 04:45:57 +00:00
Darren Reed
4d7cb202f1 Elminate 1 LOR (actually a recursive mutex grab) involving ipfilter where
we loop through all the list of NICs (struct ifnet), holding the lock on
it and then do a name lookup with ifunit() whilst holding it.
2005-01-08 04:32:02 +00:00
Robert Watson
fd544ee8f7 In kern_wait(), let the compiler copy the rusage structure rather than
an explicit bcopy() -- it probably does a better job.
2005-01-08 04:17:48 +00:00
Poul-Henning Kamp
90711964ef Revert local experiment which leaked into commit. 2005-01-07 23:54:16 +00:00
Poul-Henning Kamp
aeaf0a3a68 Fix compilation of DEVICE_POLLING code. 2005-01-07 23:52:41 +00:00
Giorgos Keramidas
9106c8c7f5 Comment typo.
PR:		kern/75923
Submitted by:	Matthew D. Fuller <fullermd@over-yonder.net>
2005-01-07 19:31:43 +00:00
John Baldwin
dd08fca3b6 Fix support for machines with default MP Table configurations:
- Fix the MP Table pci bridge drivers to not probe the configuration table
  unless we actually have one.  Machines using a default configuration do
  not have such a table.
- Only allow default configuration types of 5 (ISA + PCI) and 6 (EISA +
  PCI) as the others are not likely to work.  Types 1 through 4 use an
  external APIC (probably with 80486 processors) which we certainly do not
  support, and type 7 uses an MCA bus which has not been tested with the
  new MP Table code.
- Correct the fact that the single I/O APIC in a default configuration has
  an ID of 2, not 0.
- Fix off by one errors in setting the bus types from the default_data[]
  arrays for default configurations.
- Explicitly configure each of the 16 interrupt pins on the sole I/O APIC
  when using a default configuration.  This is especially helpful for type
  6 (EISA + PCI) since the EISA interrupts need to have their polarity
  programmed based on the values in the ELCR.

Much thanks to the submitter and tester who endured several rounds of
testing to get this fixed.

MFC after:	1 week
Tested by:	Georg Schwarz georg dot schwarz at freenet dot de
2005-01-07 18:42:59 +00:00
Scott Long
e015dfcfd1 Introduce bus_dmamap_load_mbuf_sg(). Instead of taking a callback arg, this
cuts to the chase and fills in a provided s/g list.  This is meant to optimize
out the cost of the callback since the callback doesn't serve much purpose for
mbufs since mbuf loads will never be deferred.  This is just for amd64 and
i386 at the moment, other arches will be coming shortly.
2005-01-07 07:57:18 +00:00
Scott Long
9cd59edc6b Fix typo from previous commit. 2005-01-07 07:08:33 +00:00
Scott Long
608d7ac260 Add a default driver to attach to the "hidden" scsi channels of the Dell
PERC 3 controllers.  This is needed to keep the PM code from powering them
down.
2005-01-07 05:59:45 +00:00
Alan Cox
46fbc58202 Transfer responsibility for freeing the page taken from the cache
queue and (possibly) unlocking the containing object from
vm_page_alloc() to vm_page_select_cache().  Recent optimizations to
vm_map_pmap_enter() (see vm_map.c revisions 1.362 and 1.363) and
pmap_enter_quick() have resulted in panic()s because vm_page_alloc()
mistakenly unlocked objects that had not been locked by
vm_page_select_cache().

Reported by: Peter Holm and Kris Kennaway
2005-01-07 05:02:19 +00:00
Scott Long
45a0fd86e1 Fix typos from previous commit. 2005-01-07 05:01:24 +00:00
Colin Percival
e9dec2c41b Adjust two of my comments to the new world order: Indent protection in
the first column is performed using /**, not /*-.
2005-01-07 03:25:45 +00:00
Warner Losh
ed31b82378 /* -> /*- for license, minor formatting changes, insert COPYRIGHT into files 2005-01-07 02:35:34 +00:00
Warner Losh
caf43b0208 /* -> /*- for license, minor formatting changes, separate for KAME 2005-01-07 02:30:35 +00:00
Warner Losh
60727d8b86 /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
Warner Losh
3f3b6d74ce Add FreeBSD tag 2005-01-07 02:28:28 +00:00
Warner Losh
c398230b64 /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
Peter Grehan
dac7b54d87 Return correct value in the lock routine. 2005-01-07 01:08:39 +00:00
Warner Losh
125f6d40bd These are no longer relevant. They are scripts for extracting hints
from 4.x kernel config files.  User's wishing to upgrade from 4.x to 6
will need to go through 5.x, or grab this script from there.  These
scripts will remain in RELENG_5...
2005-01-07 00:54:35 +00:00
Warner Losh
a2f7fd2549 This is no longer supported, so remove it from the tree. 2005-01-07 00:51:18 +00:00
Warner Losh
d6ea02625f /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-07 00:24:33 +00:00
Poul-Henning Kamp
72f0eb9104 We no longer recurse the mutex. 2005-01-07 00:02:11 +00:00
Poul-Henning Kamp
8397f22c34 If we get an interrupt and the interface is down, return before we
grab the lock.  This should help a tiny bit on machines where unused
if_sis interfaces share IRQ.
2005-01-07 00:01:43 +00:00
Poul-Henning Kamp
41166e0488 Don't tweak DSP on the ..16 chips. 2005-01-06 23:56:13 +00:00
Poul-Henning Kamp
4ce7885f87 Fix for an issue with excessive collisions in half duplex mode. 2005-01-06 23:54:55 +00:00
Poul-Henning Kamp
bce3bc624c Nail the short cable problem the exact way National says it should be. 2005-01-06 23:49:26 +00:00
Poul-Henning Kamp
0608b4a20c Simplify and fix bugs in rx/tx ring cleanup. 2005-01-06 23:36:43 +00:00
Warner Losh
9454b2d864 /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
Warner Losh
73108a1664 Expand COPYRIGHT inline, per Matthew Dillon's earlier approval. 2005-01-06 23:34:38 +00:00
Poul-Henning Kamp
7302042943 Rewrite the rx/tx ring initialization to use pointers instead of arrays. 2005-01-06 23:31:41 +00:00
Poul-Henning Kamp
1bad258b05 Eliminate a bunch of unnecessary prototypes. 2005-01-06 23:26:13 +00:00
Poul-Henning Kamp
878f347274 Move the module related stuff to the bottom of the file. This will
allow us to save prototypes.
2005-01-06 23:22:38 +00:00
Warner Losh
7ce2255642 /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
Poul-Henning Kamp
951365068b Make sure to clear any pending interrupts when we stop the interface. 2005-01-06 23:18:44 +00:00
Poul-Henning Kamp
c884a1dc23 Close a theoretical race: By the time the watchdog comes around
the interface may have been stopped, so we should not restart it.
2005-01-06 23:13:50 +00:00
Warner Losh
86cb007f9f /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 22:18:23 +00:00
Warner Losh
838d838f0b Remove left over include file from stallion driver. 2005-01-06 22:07:20 +00:00
Warner Losh
cf7fbde441 Expand indirect reference to BSD license with the current one. 2005-01-06 22:05:28 +00:00
Warner Losh
94306e4017 This doesn't seem to have been used since 386BSD days 2005-01-06 22:00:50 +00:00
John Baldwin
f019a174c5 Bit 0 of td_flags is now used by the priority borrowing flag, so remove
the unused placeholder constant.
2005-01-06 21:11:05 +00:00
Alan Cox
df2e33bf42 Revise the part of vm_pageout_scan() that moves pages from the cache
queue to the free queue.  With this change, if a page from the cache
queue belongs to a locked object, it is simply skipped over rather
than moved to the inactive queue.
2005-01-06 20:22:36 +00:00
Warner Losh
fa521b0366 /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:27:30 +00:00
Warner Losh
aab95e5580 Add dol FreeBSD dol and /*+ize license 2005-01-06 18:27:09 +00:00
Warner Losh
d167cf6f3a /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 18:10:42 +00:00
Maksim Yevmenkin
aa38f8f98c Introduce new startup level SI_SUB_NETGRAPH that is after
SI_SUB_INIT_IF but before SI_SUB_DRIVERS. Make Netgraph(4)
framework initialize at SI_SUB_NETGRAPH level.

This does not address the bigger problem: MODULE_DEPEND
does not seem to work when modules are compiled in the
kernel, but it fixes the problem with Netgraph Bluetooth
device drivers reported by a few folks.

PR:		i386/69876
Reviewed by:	julian, rik, scottl
MFC after:	3 days
2005-01-06 17:45:03 +00:00
Maxim Konovalov
feb21986e8 Unbreak the tinderbox, make this compile. 2005-01-06 12:29:10 +00:00
Hidetoshi Shimokawa
e726a7e116 Clear PCIM_CMD_SERRESPEN and PCIM_CMD_PERRESPEN for broken hardware.
Some amd64 laptops fail to boot with these flags.

PR: kern/75482
2005-01-06 07:40:34 +00:00
Peter Grehan
fded756e72 Modules on PPC need to be compiled with -mlongcall to get around
the +/-64k blr offset limitation. With gcc bug #12769 fixed, it's
time to put enable this.
2005-01-06 06:26:11 +00:00
Scott Long
55708fbbec Make this compile from the last commit 2005-01-06 05:30:44 +00:00
David Xu
476e1d077e Return ETIMEDOUT when thread is timeouted since POSIX thread
APIs expect ETIMEDOUT not EAGAIN, this simplifies userland code a
bit.
2005-01-06 02:08:34 +00:00
Warner Losh
098ca2bda9 Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
Warner Losh
a8c5ecf70f add copyright notice to something I wrote that didn't have one 2005-01-06 01:36:28 +00:00
Warner Losh
dd3cb56845 Start each of the license/copyright comments with /*- 2005-01-06 01:34:41 +00:00
Warner Losh
5de2b5750c Start each of the license/copyright comments with /*- 2005-01-05 23:35:00 +00:00
Paul Saab
b6e223d8d4 If the NFS/TCP stream is out of sync between the client and server,
and if the client (erroneously) reads the RPC length as 0 bytes, the
client can loop around in the socket callback. Explicitly check for
the length being 0 case and teardown/re-connect.

Submitted by:	Mohan Srinivasan
2005-01-05 23:21:13 +00:00
Warner Losh
898b0535b7 Start each of the license/copyright comments with /*- 2005-01-05 22:34:37 +00:00
John Baldwin
34341a712f Typo. 2005-01-05 22:33:11 +00:00
Poul-Henning Kamp
9be9637246 Align if else if properly 2005-01-05 22:28:24 +00:00
Poul-Henning Kamp
93368d1eb2 Style: new-speak functions, remove pointless "return". 2005-01-05 22:23:03 +00:00
John Baldwin
c88379381b - Move the function prototypes for kern_setrlimit() and kern_wait() to
sys/syscallsubr.h where all the other kern_foo() prototypes live.
- Resort kern_execve() while I'm there.
2005-01-05 22:19:44 +00:00
Warner Losh
6a0fd84b50 Start each of the license/copyright comments with /*- 2005-01-05 22:16:58 +00:00
Warner Losh
48ffcc8658 Remove obsolete note about the boot loader not being ready for stable.
It has been in stable for at least 5 years now.
2005-01-05 22:16:10 +00:00
Warner Losh
d8315c79d9 Start all license statements with /*- 2005-01-05 21:58:49 +00:00
John Baldwin
33fb8a386e Rework the optimization for spinlocks on UP to be slightly less drastic and
turn it back on.  Specifically, the actual changes are now less intrusive
in that the _get_spin_lock() and _rel_spin_lock() macros now have their
contents changed for UP vs SMP kernels which centralizes the changes.
Also, UP kernels do not use _mtx_lock_spin() and no longer include it.  The
UP versions of the spin lock functions do not use any atomic operations,
but simple compares and stores which allow mtx_owned() to still work for
spin locks while removing the overhead of atomic operations.

Tested on:	i386, alpha
2005-01-05 21:13:27 +00:00
Warner Losh
0027ba028a These appear to be unused in our tree, so remove them. 2005-01-05 20:50:31 +00:00
Warner Losh
46280ae719 Begin all license/copyright comments with /*- 2005-01-05 20:17:21 +00:00
Warner Losh
17d5b792e5 PC98 will never be defined for amd64 2005-01-05 20:11:13 +00:00
Giorgos Keramidas
285d9e0fa7 Fix KASSERT inversion that was introduced in 1.150, resulting in instant
panic curlen != 0, which is perfectly normal.

Approved by:	mux
2005-01-05 20:10:05 +00:00
Wilko Bulte
cc1d7d872e Add support for Chase/Perle PCI FAST-4 4 port serial cards which appear
to be the same as Boca Research Turbo Serial 654 (4 serial port).
While add the 8 port variants as well.

Submitted by: sten@blinkenlights.nl
PR: kern/75793
MFC after: 1 week
2005-01-05 20:06:04 +00:00
Warner Losh
f44fc746fb Begin all license/copyright comments with /*- or #- 2005-01-05 20:05:52 +00:00
Warner Losh
1520214745 Start all license/copyright notice comments with /*-, per tradition 2005-01-05 19:10:48 +00:00
Vinod Kashyap
5552eed8e5 Changes corresponding to the 9.1.5.2 release of twa on the 3ware website.
The main changes are:
1. Use of multiple bus dma tags.
2. Timing of CAM requests by the driver.
3, Firmware interface change relating to retrieving AEN's.
4. Removal of twa_intrhook.
5. Bundling of latest firmware with BBU capability.

Reviewed by:re
Approved by:re
2005-01-05 19:04:28 +00:00
Poul-Henning Kamp
1e079a9113 Make sis_initl() take a typed argument.
Expect caller to lock before calling sis_stop()
Various style stuff.
2005-01-05 10:26:12 +00:00
Poul-Henning Kamp
a55fd2ad97 Add locked/unlocked variants of sis_init() 2005-01-05 10:11:37 +00:00
Poul-Henning Kamp
93e6be6cd7 Make a locked and unlocked variant of sis_start() 2005-01-05 10:04:45 +00:00
Poul-Henning Kamp
93a8f35688 Don't declare variables "register", the compiler ought to know what to do. 2005-01-05 09:02:05 +00:00
Alan Cox
c935314fae Add needed synchronization to the error handling code that was introduced
in revision 1.141.

Lock assertion failures reported by: Kris Kennaway
2005-01-05 05:32:52 +00:00
Jun Kuriyama
6f4e528a8e o Use tab instead of spaces for puc(4) line.
o Use capitalized "Ethernet" for consistency.
2005-01-05 05:25:21 +00:00
Julian Elischer
4eefd67bb0 Fix comment. One of the two "Step 4" shuold be a "step 5" 2005-01-05 01:04:35 +00:00
Olivier Houchard
328b4b876f Disable checksum offloading by default. It seems to produce corrupted packets
with some revisions of the chip (particularly when using multiple TX
descriptors).

MFC after:	1 week
2005-01-05 00:06:15 +00:00
Poul-Henning Kamp
dc010b7380 Instead of keeping track of the index into the receive ring use the already
implemented "sis_nextdesc" pointer to keep a pointer instead.
2005-01-04 22:39:35 +00:00
Poul-Henning Kamp
32a300364d Forget about the sis_list_data and sis_ring_data structures and embedd
their fields directly in the softc structure.

This is a no-op which shortens most of the affected source lines
by N * 10 characters.
2005-01-04 22:25:58 +00:00
Poul-Henning Kamp
42eb5bb725 Prototype busdma callback using the typedef. 2005-01-04 22:14:18 +00:00
Roman Kurakin
a34891c667 Kill a half dead comment. It's first half was killed in rev 1.12.
MFC after:	3 days
2005-01-04 21:59:09 +00:00
Maksim Yevmenkin
6a2dbfa47f Rename 'class' field to 'uclass' in the ng_hci_inquiry_response structure.
class is a reserved word in C++

Submitted by:	Markus Brueffer < markus AT brueffer DOT de >
MFC after:	3 days
2005-01-04 20:13:48 +00:00
Maxime Henrion
778ee7be10 Allow fxp(4) cards with a revision id of 0 to use the 82503 serial
interface as well.  This is not an expected revision id per the
datasheet, but unfortunately there are such cards out there with
a 82557 chipset, and they want to use the 82503.

PR:		kern/75739
Reported by:	Andre Albsmeier <andre.albsmeier@siemens.com>
2005-01-04 19:30:14 +00:00
John Baldwin
d7d1139749 Regenerate. 2005-01-04 18:54:40 +00:00
John Baldwin
20ae37df8c Partial sync up to the master syscalls.master file:
- Mark mount, unmount and nmount MPSAFE.
- Add a stub for _umtx_op().
- Mark open(), link(), unlink(), and freebsd32_sigaction() MPSAFE.

Pointy hats to:	several
2005-01-04 18:53:32 +00:00
John-Mark Gurney
d17d400489 return after freeing data element, instead of falling through, and using
the free'd element, and ultimate NULL deref of the failed allocation.

MFC after:	1 week
2005-01-04 18:15:27 +00:00
Pawel Jakub Dawidek
ea973705b3 - Fix 'rebuild' command - it can no longer relay on retaste event
(we ignore it).
- Remove code used for handling spoil events, as spoiling is not possible
  anymore, because we keep consumers open for writing all the time.

MFC after:	4 days
2005-01-04 12:15:21 +00:00
Pawel Jakub Dawidek
da84416791 Spoiling is now not possible, because we keep consumers open for writing
all the time. Remove unused code then.

MFC after:	4 days
2005-01-04 12:11:49 +00:00
Yoshihiro Takahashi
34a9937988 Remove old wdc driver completely. 2005-01-04 11:04:03 +00:00
Warner Losh
2c4b22495d Minor nits in formatting continued lines 2005-01-04 10:22:11 +00:00
Warner Losh
6588195770 cnw as a pccard device was commented out, so uncomment it so LINT will build. 2005-01-04 10:21:06 +00:00
Poul-Henning Kamp
0b3e4fe239 Since we do not support forceful unmount of DEVFS we can do away with
the partially implemented vnode-readoption code in vgonechrl().
2005-01-04 08:49:14 +00:00
Poul-Henning Kamp
59f69ba49f Unsupport forceful unmounts of DEVFS.
After disscussing things I have decided to take the easy and
consistent 90% solution instead of aiming for the very involved 99%
solution.

If we allow forceful unmounts of DEVFS we need to decide how to handle
the devices which are in use through this filesystem at the time.

We cannot just readopt the open devices in the main /dev instance since
that would open us to security issues.

For the majority of the devices, this is relatively straightforward
as we can just pretend they got revoke(2)'ed.

Some devices get tricky:  /dev/console and /dev/tty for instance
does a sort of recursive open of the real console device.   Other devices
may be mmap'ed (kill the processes ?).

And then there are disk devices which are mounted.

The correct thing here would be to recursively unmount the filesystems
mounte from devices from our DEVFS instance (forcefully) and if
this succeeds, complete the forcefully unmount of DEVFS.  But if
one of the forceful unmounts fail we cannot complete the forceful
unmount of DEVFS, but we are likely to already have severed a lot
of stuff in the process of trying.

Event attempting this would be a lot of code for a very far out
corner-case which most people would never see or get in touch with.

It's just not worth it.
2005-01-04 07:52:26 +00:00
Warner Losh
5562482940 Catchup to wd removal 2005-01-04 07:26:51 +00:00
Warner Losh
c35aafff95 Remove last vestiges of old wd driver. ata works well on pc98 and
there was no objection on the pc98 list when I asked if it could be
removed a while ago.
2005-01-04 06:25:24 +00:00
Warner Losh
944d0f0ff2 move all the card entries to files.pc98
style change: regularize tabbing
2005-01-04 06:07:25 +00:00
Warner Losh
3ec0cd6e5d First step in removing OLDCARD from FreeBSD 6.0:
o Move card from all architectures to just pc98.  It is only needed there,
  although real issues remain with NEWCARD's support of ISA devices.
2005-01-04 05:34:28 +00:00
Pawel Jakub Dawidek
fd6d312082 Fix 'rebuild' command (we ignore retaste event now, so don't relay on it). 2005-01-03 19:42:37 +00:00
Robert Watson
12412ce921 Add PCI and device ID's to if_xl to support:
3C920B-EMB-WNM Integrated Fast Ethernet Controller

Submitter reports that the card appears to autonegotiate properly, and
operate well with high levels of NFS traffic.

PR:		75253
Submitted by:	"Oleg V. Nauman" <oleg at reis dot zp dot ua>
MFC after:	2 weeks
2005-01-03 19:22:37 +00:00
Marius Strobl
93f4f5a560 Use byteorder(9) functions to implement the [g,s]et[d,w][b,l]e macros so
only one set is needed for either endianess. This also completes them for
big endian archs and fixes the compilation of libncp, netncp, etc. there.

Reviewed by:		bp, rwatson
Compile tested on:	i386, sparc64
MFC after:		1 week
2005-01-03 18:03:00 +00:00
Poul-Henning Kamp
4f8205e5d1 When allocating bio's in the swap_pager use M_WAITOK since the
alternative is much worse.
2005-01-03 13:28:56 +00:00
Philip Paeps
9fd851bb17 Reduce diffs to work in progress before checking in serious changes.
o Move the sysctls under debug.psm.* and hw.psm.* making them a bit
   clearer and more consistent with other drivers.

 o Remove the debug.psm_soft_timeout sysctl.  It was introduced many
   moons ago in r1.64 but never referenced anywhere.

 o Introduce hw.psm.tap_threshold and hw.psm.tap_timeout to control
   the behaviour of taps on touchpads.  People might like to fiddle
   with these if tapping seems to slow or too fast for them.

 o Add debug.psm.loglevel as a tunable so that verbosity can be set
   easily at boot-time (to watch probes and such) without having to
   compile a kernel with options PSM_DEBUG=N.
2005-01-03 13:19:49 +00:00
Robert Watson
62f6bcfbef Garbage collect unused ipx_abort().
Spell NULL right in a KASSERT() panic message.

MFC after:	1 week
2005-01-03 12:54:31 +00:00
Pawel Jakub Dawidek
cdca9c06d9 Remove unused #include. 2005-01-03 12:53:10 +00:00
Robert Watson
b870eea0a6 Exempt the superuser from mac_seeotheruids checks.
Submitted by:	bkoenig at cs dot tu-berlin dot de
PR:		72238
MFC after:	2 weeks
2005-01-03 12:08:18 +00:00
Julian Elischer
a8ef988f65 Remove comment that doesn't seem to be true and add comments describing
what is going on, to replace it. Slight formatting changes
Code here is alredy different to NetBSD.
MFC after:	1 week
2005-01-03 08:52:26 +00:00
Julian Elischer
2410443379 A much simpler way to work out if the required transfer can be done in 2
scatter gather segments.

MFC after:	1 week
2005-01-03 08:09:05 +00:00
Nate Lawson
6e19953485 Back out previous commits. Installing new share/mk fixes this. 2005-01-03 07:27:17 +00:00
Mike Silbersack
a69968ee4e Add a sysctl (net.inet.tcp.insecure_rst) which allows one to specify
that the RFC 793 specification for accepting RST packets should be
following.  When followed, this makes one vulnerable to the attacks
described in "slipping in the window", but it may be necessary in
some odd circumstances.
2005-01-03 07:08:37 +00:00
Nate Lawson
e87e3960b6 NO_MAN is now NOMAN. 2005-01-03 05:36:55 +00:00
Nate Lawson
182234f916 Fix kernel modules build. For some reason, this module now bails out with
an error that there is no aicasm.1 man page.
2005-01-03 05:35:58 +00:00
Marcel Moolenaar
3195113e2a Regen. 2005-01-03 00:47:23 +00:00
Marcel Moolenaar
fe0ef598b6 uuidgen(2) is MP safe. 2005-01-03 00:45:57 +00:00
Robert Watson
dd49efac2f If MALLOC() fails in at_pcballoc(), return ENOBUFS rather than
potentially panicking.

MFC after:	1 week
2005-01-03 00:16:07 +00:00
Robert Watson
66685810b9 Acquire the socket buffer receive lock in spx_rcvoob() to permit
multiple reads of receive buffer state to be performed atomically.
2005-01-02 15:38:47 +00:00
Robert Watson
19e2d43969 Increase the coverage scope of the receive socket buffer lock in
spx_reass() to increase atomicity across multiple operations on the
socket buffer when iterating over the SPX fragment reassembly list
for the ipxpcb, as well a to reduce the number of locking operations.
2005-01-02 15:36:16 +00:00
Robert Watson
97270cf1b6 Explicitly lock the send socket buffer in spx_reass() to cover the drop
record loop for ACK'd data, rather than relying on lokcing in
sbdroprecord() and sowwakeup(), reducing the number of lock operations
as well as eliminating a possible race against the head of the send
buffer mbuf chain.  Use the _locked variants of sbdroprecord() and
sowwakeup().
2005-01-02 15:33:13 +00:00
Robert Watson
0cdc892230 Restructure ipx_input() return code to match similar code in netinet,
avoiding a goto.
2005-01-02 15:29:29 +00:00
Robert Watson
944731d517 Eliminate XXX comments regarding allocation failures when retrieving
the peer address by using M_WAITOK in ipx_setpeeraddr() to prevent
allocation failure.  The socket reference used to reach these calls
will prevent the ipxpcb from being released prematurely.
2005-01-02 15:25:59 +00:00
Robert Watson
360fb9f83a Use KASSERT() in preference to if()panic(). 2005-01-02 15:19:24 +00:00
Robert Watson
43ae56438e Extern declaration of old 'ipxpcb' list head no longer required. 2005-01-02 15:16:35 +00:00
Robert Watson
928944eeb5 Trim trailing whitespace. 2005-01-02 15:13:59 +00:00
Robert Watson
9e7c226533 Document copyright updates in netipx README as other prior updates have
been documented.
2005-01-02 15:10:02 +00:00
Robert Watson
a3acf5d5a0 Mark 'struct spx' and 'struct spxhdr' as __packed to prevent possible
alignment problems.

MFC after:	3 days
2005-01-02 15:06:47 +00:00
Robert Watson
14fad7b9d6 Improve handling of SPX session timeout, specifically, make sure to
properly handle the case where a connection is disconnected.  The
queue(9)-enabled version of this code broke from the inner but not
outer loop, and so potentially frobbed an ipxpcb flag after the ipxpcb
was free'd, which might be picked up later by the malloc debugging
code.  Properly break from the loop context and avoid touching the
cb/ipxpcb after free.
2005-01-02 14:46:18 +00:00
Robert Watson
16b47e3540 Compare and assign pointers with NULL in preference to 0. 2005-01-02 14:07:05 +00:00
Robert Watson
521a8487f5 Don't cast NULL on return or when passing to another function.
Extend the annotation as to why spx_close() isn't called in spx_reass(),
and mark this code more clearly as broken.
2005-01-02 14:03:47 +00:00
Yoshihiro Takahashi
9bcb5389b9 MFi386: revision 1.421. 2005-01-02 09:51:07 +00:00
Julian Elischer
5d3ec186d5 Add support for the Pixelview PlayTV
PR:		68362
Submitted by:	Carl Makin <carl@stagecraft.cx>
MFC after:	1 week
2005-01-02 04:47:36 +00:00
Robert Watson
2fbe8bd709 Mark 'struct ipx', the IPX packet header, as __packed. Otherwise,
recent versions of gcc will insert an extra 16 bits of padding in
the structure, corrupting all IPX packet output.

MFC after:	3 days
2005-01-02 02:30:27 +00:00
Robert Watson
21275ec3db Use 'NULL' in preference to '0' for pointer comparisons.
MFC after:	2 weeks
2005-01-02 01:51:18 +00:00
Mike Silbersack
5f311da2cc Port randomization leads to extremely fast port reuse at high
connection rates, which is causing problems for some users.

To retain the security advantage of random ports and ensure
correct operation for high connection rate users, disable
port randomization during periods of high connection rates.

Whenever the connection rate exceeds randomcps (10 by default),
randomization will be disabled for randomtime (45 by default)
seconds.  These thresholds may be tuned via sysctl.

Many thanks to Igor Sysoev, who proved the necessity of this
change and tested many preliminary versions of the patch.

MFC After:	20 seconds
2005-01-02 01:50:57 +00:00
Robert Watson
6c56a18747 Use RTFREE() to free route references rather than rtfree(), as rtfree()
expects a locked route reference.  This removes a panic that occurs
when connected ipxpcb is closed and its route free'd, and may have been
present since the route locking took place.

MFC after:	2 weeks
2005-01-02 01:47:56 +00:00
Robert Watson
c2b8a29d33 Prefer rtalloc_ign() API to rtalloc() API. 2005-01-02 01:39:38 +00:00
Olivier Houchard
1861b3421b In re_detach(), remove an extra call to ether_ifdetach().
This fixes a panic that occurs when unloading the kernel module.

MFC after:	3 days
2005-01-02 01:37:21 +00:00
Marcel Moolenaar
2fa9a15eca Further enhance the handling of misaligned loads and stores:
o  implement double-extended and single precision loads and stores,
o  implement double precision stores,
o  replace the machdep.unaligned_print sysctl with debug.unaligned_print
   and change the default value to 0,
o  replace the machdep.unaligned_sigbus sysctl with debug.unaligned_test,
o  Remmove the fillfd() function. The function is trvial enough for
   inline assembly.

The debug.unaligned_test sysctl is used to test the emulation of
misaligned loads and stores. When PSR.ac is 0, the CPU will handle
misaligned memory accesses itselfi and we don't get an exception
for it. When PSR.ac is 1, the process needs to be signalled and we
should not emulate. The sysctl takes effect when PSR.ac is 1 and
tells us that we should emulate and not send a signal.

PR: 72268
MFC after: 1 week
2005-01-02 00:20:54 +00:00
Robert Watson
86c788d323 Move the definition of ipxpcb_lport_cache from ipx_input.c to ipx_pcb.c,
the only source file where it is actually used.
2005-01-01 22:04:03 +00:00
David E. O'Brien
0d00328d33 Increase the message buffer size on AMD64. Such machines can have a lot
of devices in them, and aren't run with only 64MB of RAM.
2005-01-01 21:49:20 +00:00
Tony Ackerman
b1ffdfc7c2 Corrected a workaround that should only be applied to one adapter. Workaround
was causing device hangs when incorrectly applied to other adapters.

PR:		kern/66634
2005-01-01 19:57:23 +00:00
Tony Ackerman
66fe651294 Added device id support for Intel 82541ER and 82546GB dual port PCIE adapter.
PR:		 None
2005-01-01 19:54:39 +00:00
Søren Schmidt
6ce188277d Further update to the Promise code.
Support should now cover all old and current products.
2005-01-01 19:24:25 +00:00
Stefan Eßer
b67e92b038 Attempt to fix Symbios driver on amd64. The private memory allocation
function provided by the driver limits allocations to the page size,
i.e. 4KB on i385 and 8KB on typical 64 bit processors. Since amd64
has 64 bit pointers, but only 4KB pages, an array of pointers that
just fits into one page on all the other processors, does require
2 pages on amd64.

In order to make this driver useful on amd64, the allocation unit
has been increased to 2 pages on amd64 and contigmalloc() is used
instead of malloc(). All other processor types are unaffected by
this change. This modification has only been compile-tested on
amd64, yet, but should just work (FLW).
2005-01-01 19:05:46 +00:00
Sam Leffler
ef92bcdc97 Correct scan candidate selection logic for dual-band devices: prefer
candidate on 5Ghz channel to candidate on 2Ghz channel only when the
rssi are comparable (wasn't considering rssi).
2005-01-01 17:48:27 +00:00
Sam Leffler
3baeaf0b19 Eliminate some of the egregious bypass of the 802.11 state
machine; instead use the intended entry points.  There's still
too much incestuous knowledge about the internals of the
802.11 layer but this at least fixes adhoc mode.
2005-01-01 17:45:11 +00:00
Wilko Bulte
1538dc7743 - make machine model list more comprehensive, the whole Alpha family tree
should now be present
- clean up comment a bit

MFC after: 1 week
2005-01-01 16:11:53 +00:00
Warner Losh
0290609953 Fix last second typos that crept in :-(. 2004-12-31 23:59:24 +00:00
Sam Leffler
db966c8b2b remove netbsd rcsid lines; they are way out of date and we appear to be
diverging too much to make tracking these files worthwhile
2004-12-31 22:44:26 +00:00
Sam Leffler
1f1d781074 bump copyright for 2005 2004-12-31 22:42:38 +00:00
Sam Leffler
2045f69945 fixup inactivity timers:
o ic_inact_auth is a bad name, it's the inactivity threshold
  for being associated but not authorized; use it that way
o reset ni_inact when switching inactivity thresholds to
  minimize the race against the timer (don't want to lock
  for this stuff)
o change the inactivity probe threshold from a one-shot to
  cover a range: when below this threshold but not expired
  send a probe each inactivity interval; should probably
  guard against the interval being turned way down as this
  could cause us to spam the net with probes
2004-12-31 22:05:13 +00:00
Sam Leffler
5e923d2ebd Relearn how WPA keying is supposed to work and fix WPA+WME while
we're at it:
o WPA/802.11i has a unicast key and a group key; in station mode
  everything is sent with the unicast key--we were consulting the
  destination mac address and incorrectly using the group key
o (perpetuate fallback use of the default tx key to maintain
  compatibility with the way wpa_supplicant works)
o correct EAPOL encryption logic to check unicast key instead
  of assuming other state implies this
o move QoS encapsulation up to before enmic work so TKIP has the
  information required to calculate the pseudo-header
o do not do QoS-encapsulation of EAPOL frames as some ap's do the
  wrong thing with such frames (may need to revisit this if ap's
  start dropping non-QoS frames from stations assoc'd with QoS)
o move ieee80211_mbuf_adjust closer to its caller
2004-12-31 21:54:53 +00:00
Sam Leffler
7076eda0b5 disable default use of wme until we can sort out interoperability issues;
users that want it can explicitly enable it
2004-12-31 21:48:15 +00:00
Sam Leffler
a95fa8d386 s/inline/__inline/ 2004-12-31 21:30:42 +00:00
Sam Leffler
736b3dc32e compare pointers against NULL 2004-12-31 21:28:41 +00:00
Sam Leffler
b8fcf54640 make ap mode sta association debug msg as informative as sta mode 2004-12-31 21:27:53 +00:00
Sam Leffler
624a1bdb63 do 11g erp station management in turboG mode too 2004-12-31 21:25:28 +00:00
Sam Leffler
3d07392995 check if the node/station table is already present before creating one; this
can happen on an ibss merge
2004-12-31 21:22:12 +00:00
Sam Leffler
3ea67c5431 include phy mode in scan debug msg 2004-12-31 21:19:59 +00:00
Sam Leffler
380c5fa9ba accept IEEE80211_KEYIX_NONE for a default tx key 2004-12-31 21:13:35 +00:00
Warner Losh
3c20c603ca dheader and hheader were the same function, really, so rename one of
them to header, kill the other and use both with a different arg...
2004-12-31 21:12:17 +00:00
Sam Leffler
65e278a877 don't return prematurely from processing a beacon or probe response frame
when associated; this corrects a problem where doing a scan while associated
caused the associated ap to sometimes not be included in the scan set
2004-12-31 21:11:59 +00:00
Sam Leffler
c0fa32ce0b change ieee80211_parse_wmeparams to return a unique value when the ie
is invalid so we can distinguish this from needing a parameter update;
fixes dynamic update of wme parameters
2004-12-31 21:09:43 +00:00
Sam Leffler
6b31278104 remove stray \n from debug msg 2004-12-31 21:05:05 +00:00
Sam Leffler
8116d318fc clear wep bit in 802.11 header after crypto decap so packet
capture doesn't see it
2004-12-31 21:04:05 +00:00
Warner Losh
70eefcc55b Use functions to make the program clearer. 2004-12-31 21:02:43 +00:00
Sam Leffler
da615e957d o add net.wlan.X.driver_caps mib variable for setting the driver capabilities
flags for testing
o debug msg consistency fixups
2004-12-31 21:01:41 +00:00
Sam Leffler
ecca7ea2ee correct pseudo-mic header calculation for QoS frames 2004-12-31 20:59:03 +00:00
Sam Leffler
f287c95b86 whitespace/debug msg fixups 2004-12-31 20:58:06 +00:00
Sam Leffler
dfefa312d9 add ieee80211_hdrspace and ieee80211_anyhdrspace to calculate the space
for an ieee80211 header taking into account padding requirements
2004-12-31 20:56:32 +00:00
Sam Leffler
4e844c9453 correct header length calculations on tx path for QoS-encapsulated frames
when IEEE80211_F_DATAPAD is set (e.g. ath); must use ieee80211_hdrspace
instead of ieee80211_hdrsize
2004-12-31 20:51:41 +00:00
Warner Losh
d0d4cc63e3 Implement device_quiesce. This method means 'you are about to be
unloaded, cleanup, or return ebusy of that's inconvenient.'  The
default module hanlder for newbus will now call this when we get a
MOD_QUIESCE event, but in the future may call this at other times.

This shouldn't change any actual behavior until drivers start to use it.
2004-12-31 20:47:51 +00:00
Sam Leffler
7432b7cc84 const'ify ivp reference 2004-12-31 20:44:15 +00:00
Warner Losh
4ee5d2f181 Implement mimimum system software delays, per PCI PM 1.1 spec, as
suggested by Peter Edwards.  This seems to fix my fxp problems and
likely will fix his as well.  Use DELAY rather than *sleep because we
can be called from any context.
2004-12-31 20:43:46 +00:00
Sam Leffler
fc508e8e4f add/fixup debug msgs 2004-12-31 20:42:51 +00:00
Sam Leffler
68f5ddcd2e s/inline/__inline/ 2004-12-31 20:39:41 +00:00
Sam Leffler
8da7b74f9c expose ieee80211_phymode_name for use in debug msgs 2004-12-31 20:38:48 +00:00
Sam Leffler
a614e0762d correct some typos
Submitted by:	Tai-hwa Liang
2004-12-31 20:35:05 +00:00
Sam Leffler
16b4851a16 Radiotap fixups:
o catch one place where we were not using ath_chan_change to
  switch channels; this fixes a problem where the channel
  settings were not being correctly reported in captured packets
o return unique channel identification in the channel flags;
  ethereal gets confused if you return merged flags (e.g. ofdm,
  cck, and 2Ghz) (this is workaround and should be removed if
  we can ever cleanup radiotap consumers)
o correct short/long preamble flag state for rx and treat tx
  the same--use a new hwflags array that gives us the data
  based on the h/w rate index/cookie
o add gross hack to handle radiotap capture of frames that
  come in with hardware padding; should be replaced by a
  flag in the radiotap header and more smarts in the apps
  that decode radiotap data
2004-12-31 20:32:40 +00:00
Sam Leffler
0ab4040a27 for parts that require split keycache entries report the
the index of the first entry on a mic error so we're
consistent with parts that don't have split keycache
2004-12-31 20:21:31 +00:00
Sam Leffler
a6c992f43c Correct beacon timer setup logic:
o lintval is in ms; must convert to TU's for passing to the hal
o roundup to calculate nexttbtt (should look at current tsf and pull the
  calculated nextbtt forward but this'll do for now)
o don't or- in HAL_BEACON_RESET_TSF when doing station timer setup; this
  is not needed and messes up the sleep timer calcs, though it's unclear
  if it mattered as the hal masks these values before use

Submitted by:	Thorsten von Eicken
2004-12-31 20:20:02 +00:00
Sam Leffler
0eb68df4c5 no need to sweep the tx q's for node references in ath_node_free; we know
there are none since we're only called when the ref count goes to zero
2004-12-31 20:13:58 +00:00
Sam Leffler
d77367bf5a cleanup some assertions 2004-12-31 20:11:23 +00:00
Alan Cox
0869d38ba6 Assert that page allocations during an interrupt specify
VM_ALLOC_INTERRUPT.

Assert that pages removed from the cache queue are not busy.
2004-12-31 19:50:45 +00:00
Warner Losh
24ea6505cb First pass at shortening names. Likely more can be done. Generally
prefer ethernet and serial to \1 adapter.
2004-12-31 19:10:33 +00:00
Warner Losh
edfffcdb9a Eliminate the redundant/verbose portion of the company names.
Generally omit semiconductor, electronics, inc, corp, pny, ltd and the
like.

This saves almost 3k for the usb module.
2004-12-31 18:59:38 +00:00
Warner Losh
61522a4654 Finish merging usb vendors from NetBSD. 2004-12-31 18:37:49 +00:00
Warner Losh
89dd5535b8 Bump to 2005 for the new year. 2004-12-31 18:06:45 +00:00
Robert Watson
96979ee67d Marginally reformat copyright statements to remove an excess ','. 2004-12-31 17:05:37 +00:00
John Baldwin
8f11becb12 Add usbdevs_data.h to the SRCS list since usb_subr.c needs it. This forces
old usbdevs_data.h files to be updated as well as fixing the standalone
usb module build.
2004-12-31 16:05:07 +00:00
Pawel Jakub Dawidek
46003fb337 Be consistent and always use form 'return (value);' instead of 'return value;'.
We had (before this change) 84 lines where it was style(9)-clean and 15 lines
where it was not.
2004-12-31 14:52:53 +00:00
Robert Watson
502c374fea Add 'struct ipxpcb' forward declaration to ipx_var.h. I had this in
the netperf branch but for some reason didn't trigger a build failure
locally when I merged to CVS and omitted it.  Presumably driver error.

Pointed out by:	cperciva, tinderbox
2004-12-31 11:54:39 +00:00
Julian Elischer
6379133df2 Roger is away, note that his maintainership is
on vacation until he gets back. (hopefully next year)

Submitted by:	linimon
2004-12-31 09:18:29 +00:00
Warner Losh
4e91eaf278 Remove special case from *devs2h loop for usb
Move usb out of the loop since the other devs2h programs don't grok -h
Add new rule for usbdevs_data.h
2004-12-30 23:22:08 +00:00