diff options
author | Don Zickus <dzickus@redhat.com> | 2011-08-12 10:54:51 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2011-08-16 11:55:58 -0700 |
commit | abd4d5587be911f63592537284dad78766d97d62 (patch) | |
tree | 50d88b64ded1189d6c816a1f90124a05354914ba /drivers/bluetooth | |
parent | 6dda9266913ad57e09afc1a10d6473f10c806a63 (diff) |
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>
Diffstat (limited to 'drivers/bluetooth')
0 files changed, 0 insertions, 0 deletions