remarkable-linux/drivers/firmware
Don Zickus abd4d5587b pstore: change mutex locking to spin_locks
pstore was using mutex locking to protect read/write access to the
backend plug-ins.  This causes problems when pstore is executed in
an NMI context through panic() -> kmsg_dump().

This patch changes the mutex to a spin_lock_irqsave then also checks to
see if we are in an NMI context.  If we are in an NMI and can't get the
lock, just print a message stating that and blow by the locking.

All this is probably a hack around the bigger locking problem but it
solves my current situation of trying to sleep in an NMI context.

Tested by loading the lkdtm module and executing a HARDLOCKUP which
will cause the machine to panic inside the nmi handler.

Signed-off-by: Don Zickus <dzickus@redhat.com>
Acked-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
2011-08-16 11:55:58 -07:00
..
google Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2011-07-25 23:06:24 -07:00
dcdbas.c dcdbas: force SMI to happen when expected 2011-03-02 13:42:10 +01:00
dcdbas.h
dell_rbu.c
dmi-id.c dmi-id: fix a memory leak in dmi_id_init error path 2010-08-05 13:53:34 -07:00
dmi-sysfs.c firmware: Fix unaligned memory accesses in dmi-sysfs 2011-02-25 16:10:03 -08:00
dmi_scan.c x86, dmi, debug: Log board name (when present) in dmesg/oops output 2011-02-15 04:20:57 +01:00
edd.c x86, setup: Fix EDD3.0 data verification. 2011-04-27 14:16:12 -07:00
efivars.c pstore: change mutex locking to spin_locks 2011-08-16 11:55:58 -07:00
iscsi_ibft.c [SCSI] iscsi_ibft, be2iscsi, iscsi_boot: fix boot kobj data lifetime management 2011-06-29 16:43:06 -05:00
iscsi_ibft_find.c iscsi_ibft: iscsi_ibft_find unused variable i 2011-06-09 09:05:12 -04:00
Kconfig driver: Google EFI SMI 2011-04-29 18:09:34 -07:00
Makefile Introduce CONFIG_GOOGLE_FIRMWARE 2011-04-29 18:09:35 -07:00
memmap.c
pcdp.c
pcdp.h Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
sigma.c drivers/firmware/sigma.c needs MODULE_LICENSE 2011-07-25 20:57:16 -07:00