android_kernel_xiaomi_sm8350/drivers
Roland Dreier 8b8c8bca3a IB/ipath: Fix potential deadlock with multicast spinlocks
Lockdep found the following potential deadlock between mcast_lock and
n_mcast_grps_lock: mcast_lock is taken from both interrupt context and
process context, so spin_lock_irqsave() must be used to take it.
n_mcast_grps_lock is only taken from process context, so at first it
seems safe to take it with plain spin_lock(); however, it also nests
inside mcast_lock, and hence we could deadlock:

  cpu A                                   cpu B
    ipath_mcast_add():
      spin_lock_irq(&mcast_lock);

                                            ipath_mcast_detach():
                                              spin_lock(&n_mcast_grps_lock);

                                            <enter interrupt>

                                            ipath_mcast_find():
                                              spin_lock_irqsave(&mcast_lock);

      spin_lock(&n_mcast_grps_lock);

Fix this by using spin_lock_irq() to take n_mcast_grps_lock.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-05-19 08:51:53 -07:00
..
acorn
acpi acpi: fix potential call to a freed memory section. 2007-05-17 05:23:04 -07:00
amba
ata sata_via: pcim_iomap_regions() conversion missed BAR5 2007-05-17 20:57:38 -04:00
atm Use menuconfig objects II - netdev/atm 2007-05-11 17:53:21 -04:00
auxdisplay
base
block cciss: Fix pci_driver.shutdown while device is still active 2007-05-18 21:03:49 -07:00
bluetooth [Bluetooth] Fix unintentional fall-through in HCI line discipline 2007-05-10 23:45:06 -07:00
cdrom
char [POWERPC] Fix comment in booke_wdt 2007-05-17 21:10:15 +10:00
clocksource
connector
cpufreq
crypto [CRYPTO] padlock: Make CRYPTO_DEV_PADLOCK a tristate again 2007-05-18 13:17:22 +10:00
dio
dma
edac
eisa
fc4
firewire missing mm.h in fw-ohci 2007-05-15 18:56:37 -07:00
firmware
hid
hwmon Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2007-05-10 11:50:51 -07:00
i2c Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2007-05-10 11:50:51 -07:00
ide Use menuconfig objects: IDE 2007-05-16 00:51:46 +02:00
ieee1394 Merge branch 'juju' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2007-05-10 13:30:08 -07:00
infiniband IB/ipath: Fix potential deadlock with multicast spinlocks 2007-05-19 08:51:53 -07:00
input missing dependencies for USB drivers in input 2007-05-15 18:56:37 -07:00
isdn
kvm
leds
macintosh [POWERPC] Remove build warnings in windfarm_core 2007-05-17 21:11:19 +10:00
mca
md md: improve the is_mddev_idle test 2007-05-11 08:29:37 -07:00
media em28xx and ivtv should depend on PCI 2007-05-15 18:56:37 -07:00
message
mfd
misc
mmc pxamci: fix PXA27x MMC workaround for bad CRC with 136 bit response 2007-05-14 18:51:48 +02:00
mtd Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
net e1000: Fix msi enable leak on error, don't print error message, cleanup 2007-05-17 20:43:15 -04:00
nubus
oprofile
parisc
parport parport_pc needs dma-mapping.h 2007-05-16 21:19:15 -07:00
pci rpadlpar breakage - fallout of struct subsystem removal 2007-05-15 18:56:37 -07:00
pcmcia
pnp
ps3
rapidio
rtc rtc kconfig clarification 2007-05-17 05:23:05 -07:00
s390
sbus [SPARC] SBUS: display7seg.c needs asm/io.h 2007-05-13 22:22:47 -07:00
scsi [SCSI]: Add help text for SCSI_ESP_CORE. 2007-05-13 23:52:14 -07:00
serial NS16550A: Restore HS settings in EXCR2 on resume 2007-05-17 05:25:49 -07:00
sh
sn
spi spi: fix spidev for >sizeof(long)/32 devices 2007-05-16 21:19:15 -07:00
tc
telephony
usb [ARM] 4370/3: AT91: Support for Atmel AT91SAM9RL processors. 2007-05-11 21:07:54 +01:00
video Refine SCREEN_INFO sanity check for vgacon initialization 2007-05-17 05:23:04 -07:00
w1
zorro
Kconfig
Makefile Merge branch 'juju' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2007-05-10 13:30:08 -07:00