opnsense-src/sys/dev
Bill Paul 498bd0d326 Fix the following bugs in re(4)
- Correct the PCI ID for the 8169SC/8110SC in the device list (I added
  the macro for it to if_rlreg.h before, but forgot to use it.)

- Remove the extra interrupt spinlock I added previously. After giving it
  some more thought, it's not really needed.

- Work around a hardware bug in some versions of the 8169. When sending
  very small IP datagrams with checksum offload enabled, a conflict can
  occur between the TX autopadding feature and the hardware checksumming
  that can corrupt the outbound packet. This is the reason that checksum
  offload sometimes breaks NFS: if you're using NFS over UDP, and you're
  very unlucky, you might find yourself doing a fragmented NFS write where
  the last fragment is smaller than the minimum ethernet frame size (60
  bytes). (It's rare, but if you keep NFS running long enough it'll
  happen.) If checksum offload is enabled, the chip will have to both
  autopad the fragment and calculate its checksum header. This confuses
  some revs of the 8169, causing the packet that appears on the wire
  to be corrupted. (The IP addresses and the checksum field are mangled.)
  This will cause the NFS write to fail. Unfortunately, when NFS retries,
  it sends the same write request over and over again, and it keeps
  failing, so NFS stays wedged.

  (A simple way to provoke the failure is to connect the failing system
  to a network with a known good machine and do "ping -s 1473 <badhost>"
  from the good system. The ping will fail.)

  Someone had previously worked around this using the heavy-handed
  approahch of just disabling checksum offload. The correct fix is to
  manually pad short frames where the TCP/IP stack has requested
  checksum offloading. This allows us to have checksum offload turned
  on by default but still let NFS work right.

- Not a bug, but change the ID strings for devices with hardware rev
  0x30000000 and 0x38000000 to both be 8168B/8111B. According to RealTek,
  they're both the same device, but 0x30000000 is an earlier silicon spin.
2006-07-30 23:25:21 +00:00
..
aac Unlock aac_io_lock before returning, thus eliminates a mutex 2006-07-14 13:55:56 +00:00
acpi_support Use the acpi_event_sleep_button_sleep() function instead of 2006-06-06 15:20:06 +00:00
acpica Add a new sysctl, hw.acpi.handle_reboot. If set, acpi will attempt to 2006-07-29 21:46:16 +00:00
adlink Use the new bus_space/resource convenience functions. 2005-09-24 20:46:02 +00:00
advansys Remove some header polution. 2006-04-30 16:44:41 +00:00
agp Fix breakage of CHIP_I855 in the last revision. 2006-06-27 14:05:11 +00:00
aha Add explicit dependency on cam. This is necessary when both aha.ko and 2006-03-24 06:33:25 +00:00
ahb Fix missing update to reflect change in scsi_inquiry data structure. 2006-05-31 14:33:23 +00:00
aic Eliminate support for oldcard by removing the compat shims. 2005-09-20 19:45:08 +00:00
aic7xxx Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
amd Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
amr Chain the bus_dmamap_load() calls when mapping a command with a data CCB 2006-07-17 19:45:47 +00:00
an Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ar - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
arcmsr Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
arl Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
asr Remove stale MAINTAINER 2006-07-09 16:31:53 +00:00
ata Finally fix support for the newer MCP51/MCP55 nVidia chipsets. 2006-07-24 10:44:50 +00:00
ath add missing \n's 2006-07-26 04:09:04 +00:00
atkbdc Make sure command/data port (0x60) and status port (0x64) are in correct 2006-07-03 23:40:58 +00:00
auxio - Only touch the LED bit of the (LED) AUXIO register when turning the 2006-01-26 19:04:18 +00:00
awi add missed calls to bpf_peers_present 2006-06-02 23:14:40 +00:00
bce Expand locking coverage slightly to cover if_drv_flags in a few places 2006-07-20 18:41:00 +00:00
bfe Back out the BUS_DMA_ALLOCNOW change from rev 1.39. Scottl informed me that 2006-05-28 20:35:39 +00:00
bge Since 5714 family doesn't have Jumbo ring, we do not support 2006-06-29 06:38:21 +00:00
bktr Housekeeping. Update for maintainers who have handed in their commit bits 2006-07-01 10:51:55 +00:00
buslogic Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
cardbus Minor cleanup of CIS parsing. 2006-06-12 03:28:42 +00:00
ce Update low-level code. (to version 1.4) 2006-03-01 09:50:20 +00:00
ciss Spin until a request structure is available in the ioctl path. 2006-05-30 06:42:02 +00:00
cm Make cm(4) driver MPSAFE. 2006-06-11 22:25:01 +00:00
cnw Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
cp trim trailing ^I 2005-12-17 07:09:17 +00:00
cpufreq Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
cs Fix multicast support for cs89x0 chips. Just setting the RX_MULTCAST_ACCEPT 2006-03-10 23:50:53 +00:00
ct Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ctau Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
cx Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
cy Catch up with new interrupt handling code. 2005-10-26 06:44:59 +00:00
dc Fix the last commit. 2006-06-08 08:15:21 +00:00
dcons Convert to new console interface. 2006-05-26 13:51:38 +00:00
de Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
digi - Push Giant down into linker_reference_module(). 2006-06-20 20:54:13 +00:00
dpt Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
drm Update to current DRM CVS, bringing in a fix for a NULL pointer chase when 2006-05-17 06:36:28 +00:00
ed MFp4: 2006-06-12 04:30:42 +00:00
eisa Make the eisa probe messages just like all the others in the system. 2005-08-01 07:09:15 +00:00
em Prepending an mbuf after loading a DMA map results in unexpected 2006-07-27 00:43:34 +00:00
en Subtracting two pointers produces a ptrdiff_t not a size_t so use 2006-03-21 15:00:10 +00:00
ep Remove ifdef notdef SIOCHWADDR vestige. 2006-02-04 08:16:07 +00:00
esp Fix -Wundef from compiling the amd64 LINT. 2005-12-04 10:06:06 +00:00
ex Remove ifdef notyet SIOCGHWADDR vestige. 2006-02-04 08:16:41 +00:00
exca Don't dereference an uninitialized pointer. 2006-03-09 16:28:24 +00:00
fatm This driver has been MPSAFE from the beginning so declare the interrupt 2006-03-21 14:56:42 +00:00
fb Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
fdc Assume floppy disk is not inserted when we have exhausted retries. This 2006-07-12 00:49:46 +00:00
fe Return 0 if we are a network card and do match. Previously, we'd bogusly 2005-11-19 23:26:57 +00:00
firewire Better printf 2006-06-12 04:00:33 +00:00
fxp Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
gem add missed calls to bpf_peers_present 2006-06-02 23:14:40 +00:00
gfb Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
harp Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
hatm Replace m_extadd() with macro version MEXTADD(). 2005-09-19 22:04:41 +00:00
hfa Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
hifn Use newly added functions to simplify the code. 2006-06-04 22:17:25 +00:00
hme Fix typo in printf string. 2006-05-27 09:28:59 +00:00
hptmv Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
hwpmc First pass at removing Alpha kernel support. 2006-05-11 22:25:28 +00:00
ic Enhanced floppy controllers have Data Rate Select Register (DSR) at 0x3f4. 2006-07-06 21:12:18 +00:00
ichsmb This signal handling code is worse than a no-op. If a 2006-01-03 17:01:43 +00:00
ichwd Re-work the bus attachment somewhat. Make the rids unique for 2006-02-17 18:46:18 +00:00
ida Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
idt Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ie Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ieee488 Don't be noisy in case of shared interrupts. 2006-03-11 15:39:22 +00:00
if_ndis When ndis_attach() runs, it has to very briefly initialize the card 2006-02-04 19:42:49 +00:00
iicbus Allow iic bridges to support a generalized transfer, rather than 2006-07-14 23:15:06 +00:00
iir Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
io
ipmi Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ips Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ipw Hold on to firmware images until the interface detaches since 2006-06-10 17:29:40 +00:00
isp Some rearrangement of headers to minimize diffs with outside of 2006-07-16 20:11:50 +00:00
ispfw Convert isp(4) and ispfw(4) to use firmware(9) to manage firmware 2006-07-09 17:50:20 +00:00
iwi set default beacon miss threshold to 10 beacons 2006-07-26 03:09:32 +00:00
ixgb Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
joy Unbreak second joystick (joy1) support. 2005-11-09 20:26:00 +00:00
kbd Integrate kbdmux(4) into syscons(4) and kbd code. 2006-02-28 23:46:23 +00:00
kbdmux Add extra code into kbdmux(4)s read_char() method to 2006-07-27 20:33:48 +00:00
le Revert the part of rev. 1.3 which changed the software style to be 2006-06-05 15:14:14 +00:00
led Add placeholder mutex argument to new_unrhdr(). 2005-03-07 11:05:47 +00:00
lge Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
lmc The contents pointed by ssi_cables[] is never changed so explicitly 2006-07-21 08:45:00 +00:00
mc146818 After some input from bde@ and rereading the datasheet use a MTX_SPIN 2005-06-04 23:24:50 +00:00
mca
mcd Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
md - Conditionally acquire Giant in mdstart_vnode(), mdcreate_vnode(), and 2006-03-28 21:25:11 +00:00
mem
mfi Change mfi_add_ld to "immediate command" mode since we need to enumerate 2006-06-30 18:59:08 +00:00
mii Add ip1000 PHY driver for IC Plus IP1000A integrated PHY. 2006-07-25 00:16:09 +00:00
mk48txx - Add locking. 2005-05-19 21:16:50 +00:00
mlx Add missing parenthesis around error handling code upon attaching 2005-07-30 15:53:40 +00:00
mly Retire the last of the FreeBSD 4.x compat code from the mly driver. 2005-08-08 12:23:27 +00:00
mpt bus_alloc_resource_any is actually defined in the 2006-07-25 01:01:09 +00:00
mse Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
mxge Firmware loading improvements: 2006-07-17 22:17:05 +00:00
my Add altq(4) support. 2006-06-05 17:59:46 +00:00
ncv no need to print unload anymore 2006-07-14 04:36:57 +00:00
nfe Add a pure open source nForce Ethernet driver, under BSDL. 2006-06-26 23:41:07 +00:00
nge Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
nmdm Use ttyalloc() instead of ttymalloc() 2006-01-04 08:34:23 +00:00
nsp Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
null Use dynamic major number allocation. 2005-02-27 22:01:09 +00:00
nve ALTQ-ify nve(4). 2006-05-20 21:08:09 +00:00
ofw Fix various typos and brainos in last commit. 2006-05-30 07:56:57 +00:00
patm This driver has been MPSAFE from the beginning, so declare the interrupt 2006-03-21 14:54:42 +00:00
pbio Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
pccard Fix a few cis entries that were separated with spaces, not with commas. 2006-07-14 04:39:29 +00:00
pccbb We don't have a ISA specific shutdown routine at this time, so remove 2006-06-03 21:10:50 +00:00
pcf - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
pci Simplify the pager support in DDB. Allowing different db commands to 2006-07-12 21:22:44 +00:00
pdq Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ppbus Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ppc Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
pst Use BUS_PROBE_DEFAULT for pci probe return value 2005-03-05 18:10:49 +00:00
puc Fix building with GCC 4.2: ensure types are defined before refering to them. 2006-06-29 16:27:19 +00:00
ral support for 802.11 packet injection via bpf 2006-07-26 03:30:50 +00:00
random Now even more style(9)ish. 2006-07-13 11:47:36 +00:00
ray - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
rc - Use swi_remove() to teardown swi handlers rather than 2005-10-26 15:52:16 +00:00
re Fix the following bugs in re(4) 2006-07-30 23:25:21 +00:00
rndtest Start each of the license/copyright comments with /*-, minor shuffle of lines 2005-01-06 01:43:34 +00:00
rp The UPCI 32 rp(4) card uses BAR 2 like the UPCI 80 card. 2006-01-25 14:55:11 +00:00
rr232x Make this compile with -Wundef. 2006-05-16 15:23:27 +00:00
safe Use newly added functions to simplify the code. 2006-06-04 22:17:25 +00:00
sbni - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
sbsh Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
scc Fix braino: The cl_range field should not hold the shifted I/O 2006-07-26 03:10:01 +00:00
scd Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 2005-05-29 04:42:30 +00:00
sf Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
si - Update copyright years from the Specialix SDK. 2006-01-06 20:17:48 +00:00
sio Restore the status quo before my last commit. Prior to it, sio took 2006-07-17 03:47:18 +00:00
sk Add device ID for second generation D-Link DGE-530T. 2006-07-27 05:06:43 +00:00
smbus Drivers for AMD-8111 and NVIDIA nForce2/3/4 SMBus 2.0 controllers. 2005-12-21 15:49:51 +00:00
sn Fix mismerge after last cvs update for the IFQ_DRV_DEQUEUE changes. 2006-02-04 08:19:00 +00:00
snc Fix -Wundef warnings from compiling GENERIC and LINT kernels of 2005-12-06 11:19:37 +00:00
snp Restore the ability to detach from a tty via SIOCSTTY and document 2005-09-19 13:48:45 +00:00
sound - fix memory leak after "kldunload snd_ak452x.ko" 2006-07-28 18:06:39 +00:00
speaker Add /dev/speaker support to amd64. 2005-11-11 09:57:32 +00:00
spibus Fix comments. 2006-07-17 21:18:03 +00:00
sr - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
stg no need to print unload anymore. 2006-07-14 04:35:59 +00:00
stge Add stge(4), a driver for Sundance/Tamarack TC9021 Gigabit Ethernet 2006-07-25 00:37:09 +00:00
streams Clean up the svr4 socket cache and streams code some to make it more easily 2006-07-21 20:40:13 +00:00
sym Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
syscons Convert to new console api 2006-05-26 13:54:27 +00:00
tdfx Take the functionality contained in the former "options TDFX_LINUX" 2006-03-03 21:37:38 +00:00
ti - Tx side bus_dmamap_load_mbuf_sg(9) support. This reduces bookkeeping 2006-01-03 06:14:07 +00:00
trm Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
twa Remove header pollution. 2006-04-30 16:46:11 +00:00
twe Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
tx Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
txp Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
uart Properly propagate overrun conditions to the TTY layer. 2006-07-27 00:07:10 +00:00
ubsec Handle errors in the same way it is done in safe(4). 2006-06-06 13:58:12 +00:00
usb support for 802.11 packet injection via bpf 2006-07-26 03:30:50 +00:00
utopia Struct ifatm isn't at the beginning of the softc anymore. Use the 2005-06-22 06:51:52 +00:00
vge Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
vkbd Disable custom locking in the vkbd(4) for now and make it rely on the 2006-02-27 06:17:48 +00:00
vr Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
vx - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
watchdog Return zero when disabling watchdog, unless any of the drivers complain. 2005-09-29 12:31:44 +00:00
wds Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
wi Really fix the typo this time: it should be sc->sc_drvbpf to be verified, 2006-06-05 23:06:03 +00:00
wl Trival whitespace change. 2006-06-19 11:30:36 +00:00
xe o Fix printf(9) formatting: do not use hardcode "0x" and "#" flags 2006-04-15 11:41:40 +00:00
zs Update to new console api. 2006-05-26 18:25:34 +00:00