linux-uconsole/drivers
Larry Finger eeb405fd97 b43: Fix lockdep splat
commit 09164043f6 upstream.

In https://bugzilla.kernel.org/show_bug.cgi?id=67561, a locking dependency is reported
when b43 is used with hostapd, and rfkill is used to kill the radio output.

The lockdep splat (in part) is as follows:

======================================================
[ INFO: possible circular locking dependency detected ]
3.12.0 #1 Not tainted
-------------------------------------------------------
rfkill/10040 is trying to acquire lock:
 (rtnl_mutex){+.+.+.}, at: [<ffffffff8146f282>] rtnl_lock+0x12/0x20

but task is already holding lock:
 (rfkill_global_mutex){+.+.+.}, at: [<ffffffffa04832ca>] rfkill_fop_write+0x6a/0x170 [rfkill]

--snip--

Chain exists of:
  rtnl_mutex --> misc_mtx --> rfkill_global_mutex

The fix is to move the initialization of the hardware random number generator
outside the code range covered by the rtnl_mutex.

Reported-by: yury <urykhy@gmail.com>
Tested-by: yury <urykhy@gmail.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-06 11:08:14 -08:00
..
accessibility
acpi ACPI / Battery: Add a _BIX quirk for NEC LZ750/LS 2014-01-15 15:28:53 -08:00
amba
ata ahci: add PCI ID for Marvell 88SE9170 SATA controller 2014-01-15 15:28:52 -08:00
atm atm: idt77252: fix dev refcnt leak 2013-12-08 07:29:25 -08:00
auxdisplay
base PM / runtime: Use pm_runtime_put_sync() in __device_release_driver() 2013-12-04 10:56:59 -08:00
bcma bcma: add more core IDs 2013-05-17 14:31:05 -04:00
block rbd: fix error handling from rbd_snap_name() 2014-01-09 12:24:26 -08:00
bluetooth Bluetooth: Add support for BCM20702A0 [0b05, 17cb] 2013-10-13 16:08:32 -07:00
bus
cdrom drivers/cdrom/cdrom.c: use kzalloc() for failing hardware 2013-07-13 11:42:26 -07:00
char ACPI / TPM: fix memory leak when walking ACPI namespace 2014-01-15 15:28:52 -08:00
clk clk: exynos5250: fix sysmmu_mfc{l,r} gate clocks 2014-01-15 15:28:52 -08:00
clocksource clocksource: em_sti: Set cpu_possible_mask to fix SMP broadcast 2014-01-15 15:28:45 -08:00
connector connector: improved unaligned access error fix 2013-12-08 07:29:25 -08:00
cpufreq intel_pstate: Add X86_FEATURE_APERFMPERF to cpu match parameters. 2014-01-15 15:28:53 -08:00
cpuidle cpuidle: coupled: fix race condition between pokes and safe state 2013-09-26 17:18:02 -07:00
crypto crypto: caam - Fixed the memory out of bound overwrite issue 2013-08-04 16:50:57 +08:00
dca
devfreq
dio
dma net_dma: mark broken 2014-01-09 12:24:21 -08:00
edac e752x_edac: Fix pci_dev usage count 2014-02-06 11:08:12 -08:00
eisa
extcon
firewire firewire: sbp2: bring back WRITE SAME support 2014-01-09 12:24:21 -08:00
firmware dmi: add support for exact DMI matches in addition to substring matching 2013-11-29 11:11:53 -08:00
gpio gpio-rcar: R-Car GPIO IRQ share interrupt 2014-01-15 15:28:45 -08:00
gpu drm/nouveau/bios: fix offset calculation for BMPv1 bioses 2014-02-06 11:08:12 -08:00
hid HID: Revert "Revert "HID: Fix logitech-dj: missing Unifying device issue"" 2014-01-15 15:28:45 -08:00
hsi
hv Drivers: hv: balloon: Do not post pressure status if interrupted 2013-08-04 16:50:58 +08:00
hwmon hwmon: (coretemp) Fix truncated name of alarm attributes 2014-01-25 08:27:11 -08:00
hwspinlock
i2c i2c: mux: gpio: use gpio_set_value_cansleep() 2013-12-04 10:55:50 -08:00
ide
idle x86 idle: Repair large-server 50-watt idle-power regression 2014-01-09 12:24:21 -08:00
iio iio:adc:ad7887 Fix channel reported endianness from cpu to big endian 2014-01-09 12:24:20 -08:00
infiniband iser-target: fix error return code in isert_create_device_ib_res() 2014-01-09 12:24:20 -08:00
input Input: allocate absinfo data when setting ABS capability 2014-01-09 12:24:24 -08:00
iommu iommu: Remove stack trace from broken irq remapping warning 2013-12-08 07:29:27 -08:00
ipack
irqchip irqchip: renesas-irqc: Fix irqc_probe error handling 2014-01-15 15:28:45 -08:00
isdn net: rework recvmsg handler msg_name and msg_namelen logic 2013-12-08 07:29:25 -08:00
leds leds: wm831x-status: Request a REG resource 2013-09-26 17:18:27 -07:00
lguest
macintosh powerpc/windfarm: Fix noisy slots-fan on Xserve (rm31) 2013-08-11 18:35:20 -07:00
mailbox
md md/raid5: fix long-standing problem with bitmap handling on write failure. 2014-02-06 11:08:12 -08:00
media cxd2820r_core: fix sparse warnings 2013-12-20 07:45:11 -08:00
memory drivers/memory: don't check resource with devm_ioremap_resource 2013-05-18 11:55:52 +02:00
memstick
message
mfd mfd: rtsx_pcr: Disable interrupts before cancelling delayed works 2014-01-15 15:28:52 -08:00
misc mei: add 9 series PCH mei device ids 2013-12-11 22:36:28 -08:00
mmc mmc: block: fix a bug of error handling in MMC driver 2013-12-08 07:29:27 -08:00
mtd mtd: gpmi: fix kernel BUG due to racing DMA operations 2013-12-04 10:56:23 -08:00
net b43: Fix lockdep splat 2014-02-06 11:08:14 -08:00
nfc NFC: mei: Do not disable MEI devices from their remove routine 2013-05-21 10:48:41 +02:00
ntb NTB: Correct debugfs to work with more than 1 NTB Device 2013-11-13 12:05:35 +09:00
nubus
of Revert "of/address: Handle #address-cells > 2 specially" 2014-01-09 12:24:23 -08:00
oprofile
parisc parisc: Fix interrupt routing for C8000 serial ports 2013-08-11 18:35:21 -07:00
parport parisc: parport0: fix this legacy no-device port driver! 2013-06-01 14:46:42 +02:00
pci PCI: Disable Bus Master only on kexec reboot 2013-12-20 07:45:08 -08:00
pcmcia pcmcia: at91_cf: fix gpio_get_value in at91_cf_get_status 2013-07-21 18:21:25 -07:00
pinctrl pinctrl: dove: unset twsi option3 for gconfig as well 2013-12-04 10:55:49 -08:00
platform drivers/platform/olpc/olpc-ec.c: initialise earlier 2013-08-29 09:47:38 -07:00
pnp
power charger-manager: Ensure event is not used as format string 2013-07-13 11:42:26 -07:00
pps
ps3
ptp ptp_pch: fix error handling in pch_probe() 2013-05-25 21:24:15 -07:00
pwm drivers/pwm: don't check resource with devm_ioremap_resource 2013-05-18 11:55:58 +02:00
rapidio RAPIDIO: IDT_GEN2: Fix build error. 2013-07-28 16:30:07 -07:00
regulator mfd: tps6586x: correct device name of the regulator cell 2013-06-24 12:37:47 +01:00
remoteproc
reset
rpmsg
rtc drivers/rtc/rtc-at91rm9200.c: correct alarm over day/month wrap 2013-12-20 07:45:09 -08:00
s390 s390/3270: fix allocation of tty3270_screen structure 2014-01-09 12:24:24 -08:00
sbus
scsi SCSI: sd: Reduce buffer size for vpd request 2014-01-15 15:28:53 -08:00
sfi
sh
sn
spi spi: spi-davinci: Fix direction in dma_map_single() 2013-08-11 18:35:25 -07:00
ssb
ssbi
staging staging: comedi: adl_pci9111: fix incorrect irq passed to request_irq() 2014-01-25 08:27:11 -08:00
target target/file: Update hw_max_sectors based on current block_size 2014-01-09 12:24:20 -08:00
tc
thermal drivers/thermal: don't check resource with devm_ioremap_resource 2013-05-18 11:57:30 +02:00
tty serial: amba-pl011: use port lock to guard control register access 2014-01-25 08:27:12 -08:00
uio Fix a few incorrectly checked [io_]remap_pfn_range() calls 2013-11-13 12:05:33 +09:00
usb usb: ehci: add freescale imx28 special write register method 2014-02-06 11:08:13 -08:00
uwb
vfio vfio: fix crash on rmmod 2013-06-05 08:54:16 -06:00
vhost vhost/scsi: Fix incorrect usage of get_user_pages_fast write parameter 2013-11-13 12:05:32 +09:00
video video: kyro: fix incorrect sizes when copying to userspace 2013-12-08 07:29:27 -08:00
virt
virtio virtio: support unlocked queue poll 2013-07-28 16:29:55 -07:00
vlynq
vme
w1 drivers/w1/masters: don't check resource with devm_ioremap_resource 2013-05-18 11:58:03 +02:00
watchdog sc1200_wdt: Fix oops 2013-12-20 07:45:11 -08:00
xen xen/gnttab: leave lazy MMU mode in the case of a m2p override failure 2013-12-11 22:36:27 -08:00
zorro
Kconfig
Makefile