Commit Graph

44236 Commits

Author SHA1 Message Date
phk
31a41d385e Vastly improve performance of IRQ handling on stopped interfaces with
this driver by introducing a flag saying we already stopped the device.

On my Soekris net4801, this took a ping -i 0.001 from spending 80% of
time in interrupt handling to 10% (approx numbers).

This was a particular problem for the net4801 because the tree
interfaces share the same interrupt, but it would be a problem for
any configuration where an unused if_sis interface shares an interrupt
with a busy device.

Other drivers may have similar problems.

Thanks to:	Luigi
2003-12-25 22:14:25 +00:00
wpaul
f94f09a66b Give the timer API one last overhaul: this time, use the new callout
API instead of the old timeout/untimeout mechanism.
2003-12-25 21:34:16 +00:00
sos
11e946b97e Try to simplify the SiS probe. If SiS stays with the current schema for
new nothbridges we should even find the southbridge and be able to
use it (if its one we know that is).
2003-12-25 19:37:11 +00:00
ru
d0da7b6c4f Don't add CWARNFLAGS to CFLAGS here, they were already added by bsd.sys.mk. 2003-12-25 14:07:52 +00:00
bde
b0c4998c7a Fixed another 0 (actually '\0') vs / NULL mixup. This completes
unbreaking LINT on i386's.
2003-12-25 11:17:01 +00:00
bde
4559405756 Quick fix for LINT breakage caused by interface changes in accept(2), etc.
The log message for rev.1.160 of kern/uipc_syscalls.c and associated
changes only claimed to add restrict qualifiers (which have no effect in
the kernel so they probably shouldn't be added), but the following
interface changes were also made:
- caddr_t to `void *' and `struct sockaddr_t *'
- `int *' to `socklen_t *'.
These interface changes are not quite null, and this fix is quick (like
the changes in uipc_syscalls 1.160) because it uses bogus casts instead
of complete bounds-checked conversions.

Things should be fixed better when the conversions can be done without
using the stack gap.  linux_check_hdrincl() already uses the stack gap
and is fixed completely though the type mismatches in it were not fatal
(there were only fatal type mismatches from unopaquing pointers to
[o]sockaddr't's -- the difference between accept()'s args and oaccept()'s
args is now non-opaque, but this is not reflected in their args structs).
2003-12-25 09:59:02 +00:00
wpaul
70a7dbb9f8 - In ndis_intr(), don't do any interrupt processing if the IFF_UP
flag isn't set.
- In ndis_attach(), halt the NIC before exiting the routine. Calling
  ndis_init() will bring it up again, and we don't want it running
  (and potentially generating interrupts) until we're ready to deal
  with it.
2003-12-25 09:44:49 +00:00
wpaul
52115668ea Avoid using any of the ndis_packet/ndis_packet_private fields for
mbuf<->packet housekeeping. Instead, add a couple of extra fields
to the end of ndis_packet. These should be invisible to the Windows
driver module.

This also lets me get rid of a little bit of evil from ndis_ptom()
(frobbing of the ext_buf field instead of relying on the MEXTADD()
macro).
2003-12-25 06:04:40 +00:00
sam
f06b25a405 NULL fallout 2003-12-25 01:23:38 +00:00
silby
17952f36db Fix another 0 / NULL mixup. 2003-12-25 01:17:27 +00:00
wpaul
d5f0039cfe - Add stubs for Ndis*File() functions
- Fix ndis_time().
- Implement NdisGetSystemUpTime().
- Implement RtlCopyUnicodeString() and RtlUnicodeStringToAnsiString().
- In ndis_getstate_80211(), use sc->ndis_link to determine connect
  status.

Submitted by:	 Brian Feldman <green@freebsd.org>
2003-12-25 00:40:02 +00:00
wpaul
efa39ef3b0 - Fix some compiler warnings in subr_pe.c
- Add explicit cardbus attachment in if_ndis.c
- Clean up after moving bus_setup_intr() in ndis_attach().
- When setting an ssid, program an empty ssid as a 1-byte string
  with a single 0 byte. The Microsoft documentation says this is
  how you're supposed to tell the NIC to attach to 'any' ssid.
- Keep trace of callout handles for timers externally from the
  ndis_miniport_timer structs, and run through and clobber them
  all after invoking the haltfunc just in case the driver left one
  running. (We need to make sure all timers are cancelled on driver
  unload.)
- Handle the 'cancelled' argument in ndis_cancel_timer() correctly.
2003-12-24 21:21:18 +00:00
marcel
3277f7799e Don't use NULL with integral types. 2003-12-24 19:55:07 +00:00
alfred
0bfd1be172 regen (after removal of restrict) 2003-12-24 19:10:16 +00:00
alfred
4bd8014f66 We're not ready for restrict qualifiers here. 2003-12-24 19:09:45 +00:00
alfred
1614497eab fix warnings. NULL -> 0 2003-12-24 19:00:49 +00:00
alfred
3165927e95 NULL -> 0 2003-12-24 18:59:20 +00:00
alfred
95bd52a958 regen 2003-12-24 18:52:09 +00:00
alfred
4b4a3a69d3 NULL -> 0 where appropriate. 2003-12-24 18:51:01 +00:00
alfred
fb755a3c0b Add restrict qualifiers.
PR: 44394
Submitted by: Craig Rodrigues <rodrige@attbi.com>
2003-12-24 18:47:43 +00:00
alfred
8a3e7ef5f8 change NULL to 0 to silence warning. 2003-12-24 18:23:02 +00:00
ume
4b459add4a NULL is not 0.
Submitted by:	"Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
2003-12-24 18:22:04 +00:00
sam
760cd283ca correct bridge_version: replace unexpanded RCS keywords by a fixed string
PR:		kern/60251
2003-12-24 17:47:45 +00:00
rwatson
713ec848d1 Document that when we are addressing an open()/close() race, the reason
we call vn_close() manually rather than letting fdrop() take care of it
is that we haven't yet hooked up the various 'struct file' fields.
2003-12-24 17:13:01 +00:00
peter
0946668f0e Return AE_OK for stub functions returning ACPI_STATUS, not NULL 2003-12-24 05:26:26 +00:00
peter
afb40a1dc3 Fix 0 / NULL mixup (this module isn't in LINT!) 2003-12-24 05:24:24 +00:00
bde
d6b24acdbf Fixed breakage of a check for boolean true by misusing NULL in rev.1.407.
This became fatal when the type of NULL was changed recently.
2003-12-24 04:11:10 +00:00
njl
d096b6090f Move the acpi module down a directory. This will allow us to import
other ACPI-specific drivers into sys/modules/acpi/.
2003-12-24 03:49:38 +00:00
imp
00078009a5 Minor whitespace changes to conform better to stlye(9) and reduce diffs
with uncommitted changes I have in p4.
2003-12-24 02:01:22 +00:00
peter
397e25067b GC the unused <machine/kse.h> file. 2003-12-24 00:51:30 +00:00
peter
4836f0a77d GC unused 'syshide' override to /dev/null. This was here to disable
the output of the namespc column.  Its functionality was removed some time
ago, but the overrides and the namespc column remained.
2003-12-24 00:32:07 +00:00
peter
65f469e305 Regen (should be NOP except for rcsid) 2003-12-24 00:26:34 +00:00
peter
360ba0bb2e GC unused namespc column and un-wrap some longer lines that now fit. 2003-12-24 00:26:09 +00:00
peter
66d2a3fad8 Oops, remove references to namespc column in comment (I'm not going to
bother regenerating after this)
2003-12-24 00:17:24 +00:00
peter
9e6fb30fd5 Regen. (This should have been a NOP except it hasn't been regenerated
after makesyscalls.sh changes and the last few syscall.master changes, and
there have been some tree-sweeps that have touched generated files).
2003-12-24 00:15:20 +00:00
peter
56e0f285ee GC namespc column and unwrap long lines that now fit. 2003-12-24 00:14:08 +00:00
peter
05445353b5 Regen. This should have been a NOP, but its not been regenerated for
ages and is missing the changes from the last few makesyscalls.sh
revisions.
2003-12-24 00:02:08 +00:00
peter
9366ff8b5a GC OBE namespc column and un-wrap longer lines that now fit 2003-12-24 00:00:47 +00:00
njl
d83b1a5699 Fix locking broken by recent _CID changes. Always be sure to unlock
in the error case.
2003-12-23 18:47:31 +00:00
wpaul
64b8c16eb8 Set up the interrupt earlier in ndis_attach(), because calling the
driver's initfunc may cause an interrupt to be generated. This avoids
the occasional 'stray irqXXX' messages on load.
2003-12-23 18:41:34 +00:00
wpaul
b76105d17f Correct the definitions for NDIS_80211_NET_INFRA_IBSS and
NDIS_80211_NET_INFRA_BSS: I accidentally reversed them during
transcription from the Microsoft headers. Note that the
driver will default to BSS mode, and you need to specify
'mediaopt adhoc' to get it into IBSS mode.
2003-12-23 18:31:04 +00:00
njl
29911dffa9 Update to use the new package routines instead of rolling our own
macros.
2003-12-23 18:27:35 +00:00
njl
40a011c391 Remove the device_t parameter from package routines that only used it to
print an error message.  Update all callers of the package routines.
2003-12-23 18:26:53 +00:00
wpaul
72912d154a Make the NDIS driver depend on the wlan module now that it has
some 802.11 support.
2003-12-23 16:47:01 +00:00
se
89dfaf260e Fix a few more places where NULL was used instead of 0. 2003-12-23 14:38:42 +00:00
ru
e48e25ca16 I didn't notice it right away, but check the right length too. 2003-12-23 14:08:50 +00:00
alfred
aa96fe3860 Introduce mp_maxcpus which can be used by libkvm utils to find out
how many CPUs the system was compiled for.
Export the variable via a sysctl node 'kern.smp.maxcpus' as well.
2003-12-23 13:54:16 +00:00
ru
1a230eabf9 Fix a problem introduced in revision 1.84: m_pullup() does not
necessarily return the same mbuf chain so we need to recompute
mtod() consumers after pulling up.
2003-12-23 13:33:23 +00:00
phk
60f5080edd Prevent withering of the provider we're orphaning from happening until
we do it ourselves.

Nailed by:	Simon Heath <heath@cng.fr>
2003-12-23 11:37:05 +00:00
ume
0d32624afa Catch a few places where NULL (pointer) was used where 0 (integer) was
expected (fix build).
2003-12-23 11:01:17 +00:00