NetBSD/sys/dev
ozaki-r bf5ce79b5b Protect ec_multi* with mutex
The data can be accessed from sysctl, ioctl, interface watchdog
(if_slowtimo) and interrupt handlers. We need to protect the data against
parallel accesses from them.

Currently the mutex is applied to some drivers, we need to apply it to all
drivers in the future.

Note that the mutex is adaptive one for ease of implementation but some
drivers access the data in interrupt context so we cannot apply the mutex
to every drivers as is. We have two options: one is to replace the mutex
with a spin one, which requires some additional works (see
ether_multicast_sysctl), and the other is to modify the drivers to access
the data not in interrupt context somehow.
2016-12-28 07:32:16 +00:00
..
acpi provide intr xname 2016-10-18 22:08:30 +00:00
adb Add us.dvorak keymap variant for ADB keyboards. Addresses PR 51255. 2016-06-20 00:05:58 +00:00
altmem Use C99-style initializers for struct dkdriver. 2015-04-26 15:15:19 +00:00
apm More on PR 41200: headers that declare ioctls should include sys/ioccom.h. 2015-09-06 06:00:59 +00:00
arcbios
ata Avoid calling bufq_free() from critical section. 2016-11-20 02:34:27 +00:00
bi Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input 2016-12-15 09:28:02 +00:00
bluetooth Curious typo, found by mootja 2016-08-15 08:20:11 +00:00
bus_dma
cadence Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input 2016-12-15 09:28:02 +00:00
cardbus weak alias some pcmcia functions (to an returns error function) so this 2016-09-24 23:54:49 +00:00
clk Add basic clock device infrastructure. 2015-12-05 13:31:07 +00:00
dec Don't use a callout unnecessarily - especially not this early 2016-07-11 10:55:35 +00:00
dkwedge add missing mutex/cv cleanup to error paths. 2016-12-24 16:39:55 +00:00
dm KNF. No functional change. 2016-07-11 11:31:49 +00:00
dmover include "ioconf.h" to get the 'void <driver>attach(int count);' prototype. 2015-08-20 14:40:16 +00:00
drm
dtv
ebus
eisa Modularize the ld driver and all of its attachments. Ensure that all 2016-09-27 03:33:32 +00:00
fdt Memory leak, found by mootja; not tested, but obvious enough 2016-10-15 08:30:42 +00:00
filemon Take a reference on the (activity log) file itself, and not on the 2016-01-11 01:37:36 +00:00
flash
gpib - Use aprint*() instead of printf() in xxx_attach(). 2016-07-14 04:00:45 +00:00
gpio - Use aprint*() instead of printf() in xxx_attach(). 2016-07-14 04:00:45 +00:00
hdaudio Update the devlist2h.awk script to track the maximum lengths of vendor 2016-10-26 01:03:23 +00:00
hdmicec add makefile for installing hdmicecio.h 2015-08-02 21:22:34 +00:00
hil don't escape the unescapable 2016-10-26 13:47:05 +00:00
hpc Don't read beyond the end of an array 2016-09-06 06:27:17 +00:00
i2c acknowleg -> acknowledg, proceedure -> procedure. 2016-12-12 15:58:44 +00:00
i2o modify ldattach() to have default strategy as a parameter 2016-09-16 15:20:50 +00:00
ic avoid accessing condition variables which belong to a scsibus before actually 2016-12-24 06:04:50 +00:00
ieee1394 Let's try initializing the pointers *before* dereferencing them! 2016-11-21 01:19:35 +00:00
if_ndis Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input 2016-12-15 09:28:02 +00:00
ir - Use aprint*() more in xxx_attach(). 2016-07-14 10:19:05 +00:00
isa Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input 2016-12-15 09:28:02 +00:00
isapnp - Use aprint*() more in xxx_attach(). 2016-07-14 10:19:05 +00:00
iscsi Lock correctly around CV calls. 2016-12-25 06:55:28 +00:00
marvell Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input 2016-12-15 09:28:02 +00:00
mca - Use aprint*() more in xxx_attach(). 2016-07-14 10:19:05 +00:00
microcode acknowleg -> acknowledg, proceedure -> procedure. 2016-12-12 15:58:44 +00:00
mii Sync wm_smbustopci() with Linux and FreeBSD. This change effects PCH and 2016-11-16 08:56:17 +00:00
mscp Initialize disk_geom information, DIOCGPARTINFO relies on it. 2016-03-29 04:55:53 +00:00
mvme
nand Use ONFI_STATUS_WP instead of 0x80. 2016-10-04 14:47:18 +00:00
news
nor Size of erase block is 128 bytes when sector density (z) is zero. 2015-09-18 21:30:02 +00:00
ofisa Factor our model printing code; use aprint; eliminate alloca. 2016-12-09 17:18:35 +00:00
ofw Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input 2016-12-15 09:28:02 +00:00
onewire
pad pad(4) must be open before corresponding audio device is opened. 2016-10-15 07:08:06 +00:00
pci Protect ec_multi* with mutex 2016-12-28 07:32:16 +00:00
pckbport Disambiguate debug message. 2015-07-16 15:01:04 +00:00
pcmcia Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input 2016-12-15 09:28:02 +00:00
podulebus
ppbus Catch up with other networking changes (John D. Baker) 2016-05-08 03:11:33 +00:00
pud Replace DIOCGPART -> DIOCGPARTINFO which returns the data needed instead of 2015-12-08 20:36:14 +00:00
putter
qbus Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input 2016-12-15 09:28:02 +00:00
raidframe Ensure variables are initialized. Fixes error due to -Wmaybe-unitialized. 2016-12-11 05:27:00 +00:00
rasops add "best match" algorithm to wsfont and use this instead of a private 2015-04-18 11:23:58 +00:00
rcons
sbus Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input 2016-12-15 09:28:02 +00:00
scsipi fix comment. request_sense is called unlocked. 2016-12-22 11:19:21 +00:00
sdmmc Modularize the ld driver and all of its attachments. Ensure that all 2016-09-27 03:33:32 +00:00
smbus
spi Fixed typo in name for MCP3304. 2016-11-20 12:38:04 +00:00
splash Do not panic if the splash screen is bigger than the framebuffer 2016-04-25 22:26:50 +00:00
stbi PR/50686: David Binderman: fix memory leak 2016-01-21 17:17:53 +00:00
std
sun - use bus_space_mmap() 2016-11-09 19:54:25 +00:00
sysmon sysmon's components need to be MODULE_CLASS_DRIVER so they will get 2015-12-14 01:08:47 +00:00
tc Clean-up (remove redundant declarations, concentrate checks). 2016-12-12 17:03:40 +00:00
tprof include "ioconf.h" to get the 'void <driver>attach(int count);' prototype. 2015-08-20 14:40:16 +00:00
usb Call cv_broadcast with interlock held as per condvar(9) 2016-12-24 11:51:33 +00:00
videomode
vme More on PR 41200: headers that declare ioctls should include sys/ioccom.h. 2015-09-06 06:00:59 +00:00
wscons remove VAUDIOSPEAKER, needs to be done differently. 2016-12-10 22:36:28 +00:00
wsfb Fix splashscreen on resolutions where text is centered. 2015-06-01 20:47:59 +00:00
wsfont shiny new console font, use FONT_GO_MONO12x23 2016-11-20 15:55:31 +00:00
xmi
auconv.c
auconv.h
audio_if.h
audio.c Audio device won't fail if one cannot set the common/hw format. 2016-12-28 02:44:59 +00:00
audiobell.c back to passing device 2016-12-13 20:18:32 +00:00
audiobellvar.h restore audiobell api 2016-12-09 13:26:11 +00:00
audiovar.h Audio device won't fail if one cannot set the common/hw format. 2016-12-28 02:44:59 +00:00
aurateconv.c
auvolconv.c Fix soft volume audio distortion. OK jmcneil@. 2016-02-26 13:08:28 +00:00
auvolconv.h
bio.c include "ioconf.h" to get the 'void <driver>attach(int count);' prototype. 2015-08-20 14:40:16 +00:00
biovar.h More on PR 41200: headers that declare ioctls should include sys/ioccom.h. 2015-09-06 06:00:59 +00:00
ccd.c Avoid calling bufq_free() from critical section. 2016-11-20 02:34:27 +00:00
ccdvar.h More on PR 41200: headers that declare ioctls should include sys/ioccom.h. 2015-09-06 06:00:59 +00:00
cgd_crypto.c Add XTS mode to cgd(4). 2016-12-11 00:20:49 +00:00
cgd_crypto.h Add XTS mode to cgd(4). 2016-12-11 00:20:49 +00:00
cgd.c The cgd(4) module requires des and blowfish symbols 2016-12-22 20:57:33 +00:00
cgdvar.h More on PR 41200: headers that declare ioctls should include sys/ioccom.h. 2015-09-06 06:00:59 +00:00
clock_subr.c Fix leap year handling for years 2100 and greater. 2016-08-15 15:51:39 +00:00
clock_subr.h
clockctl.c - Return ENOTTY rather than EINVAL for invalid ioctl, suggested by 2016-11-21 03:53:59 +00:00
cninit.c
cons.c for some reason the previous commit causes ARCS firmware on sgimips64 to 2015-05-29 16:26:45 +00:00
cons.h
dev_verbose.c Avoid writing beyond the end of the buffer we were given. 2016-10-26 06:10:39 +00:00
dev_verbose.h remove extra semicolons. 2015-11-13 01:37:19 +00:00
devlist2h.awk Update the devlist2h.awk script to track the maximum lengths of vendor 2016-10-26 01:03:23 +00:00
DEVNAMES Add tcu (MI). OK skrll@ 2016-10-01 15:24:35 +00:00
dksubr.c Fix race condition in dksubr, where a dk_start from another thread 2016-12-22 13:42:14 +00:00
dkvar.h Fix race condition in dksubr, where a dk_start from another thread 2016-12-22 13:42:14 +00:00
files.audio Add mulaw to audio device for auconv_set_converter. 2016-12-25 23:23:46 +00:00
files.dev Refactored sd and cd to use common disk subroutines. 2016-12-10 10:26:38 +00:00
firmload.c PR 51184 David Binderman: simplify redundant conditional 2016-05-30 02:33:49 +00:00
firmload.h
fss.c Disestablish COW handler on error. No need to do further copies after 2016-07-31 12:17:36 +00:00
fssvar.h More on PR 41200: headers that declare ioctls should include sys/ioccom.h. 2015-09-06 06:00:59 +00:00
keylock.c
keylock.h
kloader.c Move declaration of avail_start, avail_end to <machine/kloader.h> 2015-06-11 08:14:38 +00:00
kloader.h
kttcp.c MFREE -> m_free 2016-10-02 14:16:02 +00:00
kttcpio.h
ld.c size routine returns -1 on error, not an error code. 2016-11-26 12:32:03 +00:00
ldvar.h modify ldattach() to have default strategy as a parameter 2016-09-16 15:20:50 +00:00
lockstat.c include "ioconf.h" to get the 'void <driver>attach(int count);' prototype. 2015-08-20 14:40:16 +00:00
lockstat.h Fix non-cpu counter build. 2016-01-24 01:01:11 +00:00
Makefile move spkrio.h out of isa 2016-12-09 04:46:39 +00:00
md_root.c Put back MEMORY_DISK_IMAGE logic, but use generated opt_memory_root_image.h 2015-08-30 05:24:03 +00:00
md.c Don't mutex_exit() if we didn't mutex_enter(). 2016-07-27 05:14:40 +00:00
md.h
midi_if.h fix some comments about MP midi. 2015-03-01 00:34:14 +00:00
midi.c - Use aprint*() more in xxx_attach(). 2016-07-14 10:19:05 +00:00
midictl.c Don't left-shift negative numbers by making them unsigned. 2015-08-28 13:04:29 +00:00
midictl.h
midisyn.c
midisynvar.h
midivar.h various clean ups for midi and sequencer: 2014-12-22 07:02:22 +00:00
mm.c /dev/mem cannot lseek over 0x80000000 on 32bit architectures. 2016-10-13 08:56:31 +00:00
mm.h Add mm_md_page_color hook and use to support better page coloring. 2016-07-11 16:13:28 +00:00
mulaw.c
mulaw.h
nullcons_subr.c
radio_if.h
radio.c
rnd_private.h Move RND_EXTRACT_{ANY,GOOD} to rndpool.h whose API they are part of. 2015-04-14 13:14:20 +00:00
rndpseudo.c include "ioconf.h" to get the 'void <driver>attach(int count);' prototype. 2015-08-20 14:40:16 +00:00
sequencer.c include "ioconf.h" to get the 'void <driver>attach(int count);' prototype. 2015-08-20 14:40:16 +00:00
sequencervar.h various clean ups for midi and sequencer: 2014-12-22 07:02:22 +00:00
spkr_audio.c Create a single combined module for spkr_pcppi and spkr_audio, and 2016-12-15 06:48:14 +00:00
spkr.c Add the module glue to the common spkr code. 2016-12-15 06:55:55 +00:00
spkrio.h move spkrio.h out of isa 2016-12-09 04:46:39 +00:00
spkrvar.h Create a single combined module for spkr_pcppi and spkr_audio, and 2016-12-15 06:48:14 +00:00
veriexec.c Rename verified_exec.c -> veriexec.c. 2015-12-09 18:25:32 +00:00
video_if.h
video.c
vnd.c Ignore return values when backing out of a "finish" sequence. There 2016-08-05 08:21:24 +00:00
vndvar.h More on PR 41200: headers that declare ioctls should include sys/ioccom.h. 2015-09-06 06:00:59 +00:00