freebsd-skq/sys/dev/usb
rwatson 482bfeab47 Remove NETISR_MPSAFE, which allows specific netisr handlers to be directly
dispatched without Giant, and add NETISR_FORCEQUEUE, which allows specific
netisr handlers to always be dispatched via a queue (deferred).  Mark the
usb and if_ppp netisr handlers as NETISR_FORCEQUEUE, and explicitly
acquire Giant in those handlers.

Previously, any netisr handler not marked NETISR_MPSAFE would necessarily
run deferred and with Giant acquired.  This change removes Giant
scaffolding from the netisr infrastructure, but NETISR_FORCEQUEUE allows
non-MPSAFE handlers to continue to force deferred dispatch so as to avoid
lock order reversals between their acqusition of Giant and any calling
context.

It is likely we will be able to remove NETISR_FORCEQUEUE once
IFF_NEEDSGIANT is removed, as non-MPSAFE usb and if_ppp drivers will no
longer be supported.

Reviewed by:	bz
MFC after:	1 month
X-MFC note:	We can't remove NETISR_MPSAFE from stable/7 for KPI reasons,
		but the rest can go back.
2008-07-04 00:21:38 +00:00
..
dsbr100io.h
ehci_pci.c Identify ICH9 USB controllers. 2008-04-11 05:50:53 +00:00
ehci.c >From NetBSD: 2008-06-10 02:41:36 +00:00
ehcireg.h
ehcivar.h >From NetBSD: 2008-06-10 02:41:36 +00:00
FILES
hid.c
hid.h
if_aue.c Replace callout_init(..., 1) with callout_init(..., CALLOUT_MPSAFE) for 2008-04-16 16:47:14 +00:00
if_auereg.h
if_axe.c From the OpenBSD commit log : 2008-05-13 14:00:09 +00:00
if_axereg.h Add private tx/rx buffer management to support large frame sizes 2007-11-10 16:23:38 +00:00
if_cdce.c Fix two more PRs: 2007-06-30 20:18:44 +00:00
if_cdcereg.h
if_cue.c Note the Belkin F5U111 Adapter is covered by NETMATE entry. 2007-06-23 06:29:19 +00:00
if_cuereg.h
if_kue.c Add a boatload of devices from OpenBSD and NetBSD to kue and cdce. 2007-06-23 06:47:43 +00:00
if_kuereg.h
if_rue.c When all the other drivers were converted to scheduling a taskqueue to 2007-07-09 16:58:07 +00:00
if_ruereg.h Missed in last commit: add usb task for rue to use for its ticks. 2007-07-09 20:56:39 +00:00
if_rum.c Add the D-Link DWA-111 2008-06-13 02:02:21 +00:00
if_rumreg.h
if_rumvar.h Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
if_udav.c Add support for the Davicom DM9601. 2008-04-26 05:46:28 +00:00
if_udavreg.h
if_ural.c Change the calling convention for ic_node_alloc to deal with 2008-06-07 18:38:02 +00:00
if_uralreg.h
if_uralvar.h Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
if_zyd.c Change the calling convention for ic_node_alloc to deal with 2008-06-07 18:38:02 +00:00
if_zydfw.h upgrade zd1211b firmware for the zyd driver. This solves a hardware 2007-11-03 19:24:51 +00:00
if_zydreg.h Multi-bss (aka vap) support for 802.11 devices. 2008-04-20 20:35:46 +00:00
kue_fw.h
ohci_pci.c
ohci.c Don't let hacksync() call bus_dmamap_sync(9) on DMA maps which 2008-05-13 20:58:08 +00:00
ohcireg.h
ohcivar.h
rio500_usb.h
rt2573_ucode.h
sl811hs.c
sl811hsreg.h
sl811hsvar.h
slhci_pccard.c
uark.c Allow arbitrary baud rates, not just the standard ones. 2008-01-26 04:30:48 +00:00
ubsa.c Add the support for the Globetrotter Max 3.6 HSDPA Modem. 2008-06-05 16:56:56 +00:00
ubser.c Prefer device_printf to printf("%s: ...", device_get_nameunit()). On 2007-07-05 06:42:14 +00:00
ubser.h
uchcom.c Add Winchiphead (or Nanjin QinHeng Electronics) USB Serial converter driver. 2007-10-18 10:51:06 +00:00
ucom.c split out tty create part of ucom_attach into ucom_attach_tty so 2008-03-25 23:46:24 +00:00
ucomvar.h split out tty create part of ucom_attach into ucom_attach_tty so 2008-03-25 23:46:24 +00:00
ucycom.c
udbp.c Prefer device_printf to printf + device_get_nameunit. This saves 2007-07-05 15:25:32 +00:00
udbp.h
ufm.c
ufoma.c Minor Bug fix that will cause panic with some terminal with voice path on USB. 2007-07-27 12:00:29 +00:00
uftdi.c Calculate baud rate divisor instead of allowing only a fixed set of 2008-01-25 02:41:44 +00:00
uftdireg.h Calculate baud rate divisor instead of allowing only a fixed set of 2008-01-25 02:41:44 +00:00
ugen.c The timeout is in milliseconds, not in hz. Only the portion of the 2007-06-28 06:22:40 +00:00
ugraphire_rdesc.h
uhci_pci.c Identify ICH9 USB controllers. 2008-04-11 05:50:53 +00:00
uhci.c
uhcireg.h
uhcivar.h
uhid.c
uhub.c Fix two more PRs: 2007-06-30 20:18:44 +00:00
uipaq.c Add ID for HTC PPC6700 Modem. 2008-05-08 21:22:27 +00:00
ukbd.c Remove explicit calls to keyboard methods with their respective variants 2007-12-29 21:55:25 +00:00
ulpt.c
umass.c Add support for the Nikon D300 camera 2008-05-16 19:47:15 +00:00
umct.c
umodem.c Add missing newline in printf. 2007-07-29 18:16:43 +00:00
ums.c Add support for Microsoft Notebook Optical Mouse 3000 Model 1049. 2008-04-30 19:37:54 +00:00
uplcom.c Add Belkin F5U257 to the mix. 2008-06-10 19:31:09 +00:00
urio.c
usb_ethersubr.c Remove NETISR_MPSAFE, which allows specific netisr handlers to be directly 2008-07-04 00:21:38 +00:00
usb_ethersubr.h
usb_if.m
usb_mem.c
usb_mem.h
usb_port.h Rename the kthread_xxx (e.g. kthread_create()) calls 2007-10-20 23:23:23 +00:00
usb_quirks.c Add a quirk to ignore ASUS LCM display found on some ASUS laptops. 2008-03-14 15:59:30 +00:00
usb_quirks.h Add support for various MS Wirless usb mice. the patch is from 2007-06-29 21:07:41 +00:00
usb_subr.c Fix two more PRs: 2007-06-30 20:18:44 +00:00
usb.c Drop Giant before calling kproc_exit(), so we don't trigger assertion in 2008-05-20 12:34:30 +00:00
usb.h Add definition for UIPROTO_MOUSE. 2007-06-30 02:40:21 +00:00
usbcdc.h
usbdevs Add USB ids for the Epson DX7400 / CX7300 multifunction scanner printer 2008-06-27 10:30:08 +00:00
usbdi_util.c
usbdi_util.h
usbdi.c Correct cache handling for xfer requests marked URQ_REQUEST: many (if not 2008-03-20 16:04:13 +00:00
usbdi.h add support for %b printing of request + xfer flags 2008-03-20 03:09:59 +00:00
usbdivar.h add support for %b printing of request + xfer flags 2008-03-20 03:09:59 +00:00
usbhid.h
uscanner.c Add USB ids for the Epson DX7400 / CX7300 multifunction scanner printer 2008-06-27 10:30:08 +00:00
uslcom.c Oops, I accidently concatenated uslcom.[c4] multiple times before the 2008-03-05 14:18:29 +00:00
uvisor.c Prefer device_printf to printf("%s:...", device_get_nameunit(),...); 2007-07-05 06:28:46 +00:00
uvscom.c Prefer device_printf to printf("%s:...", device_get_nameunit(),...); 2007-07-05 06:28:46 +00:00
uxb360gp_rdesc.h Change my email address to the one from the FreeBSD project. 2008-05-24 18:35:55 +00:00