opnsense-src/sys/mips/cavium
Hans Petter Selasky d3bf5efc1f Fix device delete child function.
When detaching device trees parent devices must be detached prior to
detaching its children. This is because parent devices can have
pointers to the child devices in their softcs which are not
invalidated by device_delete_child(). This can cause use after free
issues and panic().

Device drivers implementing trees, must ensure its detach function
detaches or deletes all its children before returning.

While at it remove now redundant device_detach() calls before
device_delete_child() and device_delete_children(), mostly in
the USB controller drivers.

Tested by:		Jan Henrik Sylvester <me@janh.de>
Reviewed by:		jhb
Differential Revision:	https://reviews.freebsd.org/D8070
MFC after:		2 weeks
2016-10-17 10:20:38 +00:00
..
cryptocteon - Add better COP2 (crypto coprocessor) context handler for Octeon. Keep 2012-01-06 01:23:26 +00:00
octe CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
usb Fix device delete child function. 2016-10-17 10:20:38 +00:00
asm_octeon.S Partially revert r224661: 2011-10-04 17:49:19 +00:00
ciu.c Convert rman to use rman_res_t instead of u_long 2016-01-27 02:23:54 +00:00
cvmx_config.h As <machine/pmap.h> is included from <vm/pmap.h>, there is no need to 2016-02-22 09:02:20 +00:00
files.octeon1 Add preliminary Octeon PCI console support. Radisys-specific PCI console 2012-11-13 07:39:49 +00:00
if_octm.c Mechanically convert to if_inc_counter(). 2014-09-19 09:19:49 +00:00
obio.c Convert rman to use rman_res_t instead of u_long 2016-01-27 02:23:54 +00:00
obiovar.h trim unused members of the softc. 2010-01-28 20:38:52 +00:00
octeon_cop2.h - Add better COP2 (crypto coprocessor) context handler for Octeon. Keep 2012-01-06 01:23:26 +00:00
octeon_cop2.S - Add better COP2 (crypto coprocessor) context handler for Octeon. Keep 2012-01-06 01:23:26 +00:00
octeon_ds1337.c Fix RTC clock writes on many Octeon boards. 2014-09-14 00:02:40 +00:00
octeon_ebt3000_cf.c Don't assume that bio_cmd is a bitfield. 2016-03-10 06:25:47 +00:00
octeon_gpio.c Implement GPIO_GET_BUS() method for all GPIO drivers. 2015-01-31 19:32:14 +00:00
octeon_gpiovar.h Implement GPIO_GET_BUS() method for all GPIO drivers. 2015-01-31 19:32:14 +00:00
octeon_irq.h Remap PMC interrupt for all cores 2012-03-24 06:28:15 +00:00
octeon_machdep.c Merge from vmobj-rwlock branch: 2013-02-26 01:00:11 +00:00
octeon_mp.c Allow the use of soft-interrupts for sending IPIs. 2016-09-08 17:37:13 +00:00
octeon_nmi.S - Add watchdog driver for Cavium Octeon. At the moment only 2010-11-28 08:11:05 +00:00
octeon_pci_console.c Add basic support for the Radisys-specific PCI console mechanism found on the 2012-11-19 01:58:20 +00:00
octeon_pcmap_regs.h Actually check board type rather than using a specialized octeon_is_simulation 2012-10-30 06:36:14 +00:00
octeon_pmc.c Devices that rely on hints or identify routines for discovery need to 2013-10-29 14:07:31 +00:00
octeon_rnd.c Huge cleanup of random(4) code. 2015-06-30 17:00:45 +00:00
octeon_rtc.c Devices that rely on hints or identify routines for discovery need to 2013-10-29 14:07:31 +00:00
octeon_wdog.c Merge the Cavium Octeon SDK 2.3.0 Simple Executive code and update FreeBSD to 2012-03-11 06:17:49 +00:00
octopci.c sys: use our roundup2/rounddown2() macros when param.h is available. 2016-04-21 19:57:40 +00:00
octopci_bus_space.c Update NetBSD Foundation copyrights to 2-clause BSD 2014-03-18 01:40:25 +00:00
octopcireg.h Flesh out PCI bus support some: 2010-09-24 00:14:24 +00:00
octopcivar.h Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive 2010-07-20 19:25:11 +00:00
std.octeon1 Remove the gross hack for the Octeon Simple Executive to the least 2013-11-06 05:26:15 +00:00
uart_bus_octeonusart.c octeon_uart_class was removed some time ago everywhere but here. 2012-06-28 06:49:04 +00:00
uart_cpu_octeonusart.c Remove oct_read64 and oct_write64 and use their equivalents from the Simple 2012-10-30 06:29:17 +00:00
uart_dev_oct16550.c Add support for the uart classes to set their default register shift value. 2015-04-11 17:16:23 +00:00