freebsd-dev/sys
Roger Pau Monné c397b61ea5 vesa: fix panic on suspend
Fix the following panic seen when migrating a FreeBSD guest on Xen:

panic: mtx_lock() of destroyed mutex @ /usr/src/sys/dev/fb/vesa.c:541
cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe001d2fa4f0
vpanic() at vpanic+0x182/frame 0xfffffe001d2fa570
kassert_panic() at kassert_panic+0x126/frame 0xfffffe001d2fa5e0
__mtx_lock_flags() at __mtx_lock_flags+0x15b/frame 0xfffffe001d2fa630
vesa_bios_save_restore() at vesa_bios_save_restore+0x78/frame 0xfffffe001d2fa680
vga_suspend() at vga_suspend+0xa3/frame 0xfffffe001d2fa6b0
isavga_suspend() at isavga_suspend+0x1d/frame 0xfffffe001d2fa6d0
bus_generic_suspend_child() at bus_generic_suspend_child+0x44/frame
[...]

This is caused because vga_sub_configure (which is called if the VGA adapter
is attached after VESA tried to initialize), points to vesa_configure, which
doesn't initialize the VESA mutex. In order to fix it, make sure
vga_sub_configure points to vesa_load, so that all the needed vesa
components are properly initialized.

Sponsored by:		Citrix Systems R&D
MFC after:		3 days
PR:			209203
Reviewed by:		dumbbell
Differential revision:	https://reviews.freebsd.org/D7196
2016-07-20 09:29:39 +00:00
..
amd64 Increase number of I/O APIC pins from 24 to 32 to give PCI up to 16 IRQs. 2016-07-14 14:35:25 +00:00
arm Random bit generator (RBG) driver for RPi and RPi2. 2016-07-19 18:07:47 +00:00
arm64 Implement bus_print_child to print the resources used by the ITS driver. 2016-07-15 13:25:47 +00:00
boot Do not use TERM_EMU on arm and arm64 as it doesn't behave well with serial console. 2016-07-19 19:00:22 +00:00
bsm
cam Restore PIM_ATA_EXT flag handling, lost at r300207. 2016-07-17 14:17:58 +00:00
cddl Merge {amd64,i386}/instr_size.c into x86_instr_size.c. 2016-07-20 00:02:10 +00:00
compat Fix a copy/paste bug introduced during X86_64 Linuxulator work. 2016-07-10 08:22:04 +00:00
conf Merge {amd64,i386}/instr_size.c into x86_instr_size.c. 2016-07-20 00:02:10 +00:00
contrib Fix nvlist array memory leak. 2016-07-17 15:36:02 +00:00
crypto Connect the SHA-512t256 and Skein hashing algorithms to ZFS 2016-05-31 04:12:14 +00:00
ddb Add a small set of logical operators to DDB command language. 2016-05-16 19:42:38 +00:00
dev vesa: fix panic on suspend 2016-07-20 09:29:39 +00:00
fs Handle IOC_VOID special case of passing an integer IOCTL argument through CUSE. 2016-07-06 22:21:22 +00:00
gdb
geom Use g_resize_provider() to change the size of GEOM_DISK provider, 2016-07-19 05:36:21 +00:00
gnu Revert changes for local testing, inadvertantly commited in r300811. 2016-05-26 23:59:42 +00:00
i386 Rename PTRACE_SYSCALL to LINUX_PTRACE_SYSCALL. 2016-07-16 00:54:46 +00:00
isa
kern This reverts out Gleb's changes and adds three small 2016-07-19 18:31:19 +00:00
kgssapi
libkern
mips mips/ddb: fix MIPS backtrace truncation and MIPS32 register printing. 2016-07-12 02:12:31 +00:00
modules hyperv/vmbus: Rename laundered vmbus channel code 2016-07-19 07:51:22 +00:00
net Negotiate/disable TXCSUM_IPV6 same as TXCSUM. 2016-07-18 16:58:47 +00:00
net80211 [net80211] teach AMRR to log the initial MCS rate as "MCS X" 2016-07-01 19:58:13 +00:00
netgraph Get closer to a VIMAGE network stack teardown from top to bottom rather 2016-06-21 13:48:49 +00:00
netinet Fix a bug in deferred stream reset processing which results 2016-07-20 06:29:26 +00:00
netinet6 Add ipfw_nptv6 module that implements Network Prefix Translation for IPv6 2016-07-18 19:46:31 +00:00
netipsec Get closer to a VIMAGE network stack teardown from top to bottom rather 2016-06-21 13:48:49 +00:00
netnatm
netpfil Add named dynamic states support to ipfw(4). 2016-07-19 04:56:59 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm When sleeping waiting for either local or remote advisory lock, 2016-06-26 20:08:42 +00:00
ofed Fix bug in iwcm that caused a panic in iw_cm_wq when krping is run 2016-06-14 20:58:05 +00:00
opencrypto
pc98
powerpc Remove booke_enable_l3_cache declaration and remaining definition. 2016-07-17 19:24:28 +00:00
riscv Update comments for the MD functions managing contexts for new 2016-06-16 12:05:44 +00:00
rpc Don't test for xpt not being NULL before calling svc_xprt_free(..) 2016-07-11 07:24:56 +00:00
security Add AUE_WAIT6 handling to the BSM conversion switch statement, reusing 2016-07-11 13:06:17 +00:00
sparc64 Update comments for the MD functions managing contexts for new 2016-06-16 12:05:44 +00:00
sys Make vm_pageout_wakeup_thresh a u_int rather than an int. 2016-07-20 00:09:22 +00:00
teken
tests
tools
ufs arc4random() returns 0 to (2**32)−1, use an alternative to initialize 2016-05-22 14:31:20 +00:00
vm Release the second critical section in uma_zfree_arg() slightly earlier. 2016-07-20 01:01:50 +00:00
x86 Don't print same value twice, one in decimal once in hex. This makes 2016-07-18 03:59:03 +00:00
xdr
xen xen: Correct typo in #undef for symbol NBPL 2016-06-06 14:55:46 +00:00
Makefile