linux/drivers/rapidio
Alexandre Bounine b92ae139c3 rapidio/rio_cm: avoid GFP_KERNEL in atomic context
As reported by Alexey Khoroshilov (https://lkml.org/lkml/2016/9/9/737):
riocm_send_close() is called from rio_cm_shutdown() under
spin_lock_bh(idr_lock), but riocm_send_close() uses a GFP_KERNEL
allocation.

Fix by taking riocm_send_close() outside of spinlock protected code.

[akpm@linux-foundation.org: remove unneeded `if (!list_empty())']
Link: http://lkml.kernel.org/r/20160915175402.10122-1-alexandre.bounine@idt.com
Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
Reported-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-09-19 15:36:17 -07:00
..
devices rapidio/tsi721: fix incorrect detection of address translation condition 2016-09-01 17:52:02 -07:00
switches rapidio/switches: add driver for IDT gen3 switches 2016-08-02 19:35:38 -04:00
Kconfig rapidio: add RapidIO channelized messaging driver 2016-08-02 19:35:31 -04:00
Makefile rapidio: add RapidIO channelized messaging driver 2016-08-02 19:35:31 -04:00
rio-access.c [RAPIDIO] Add RapidIO multi mport support 2008-04-29 19:40:28 +10:00
rio-driver.c rapidio: add shutdown notification for RapidIO devices 2016-03-22 15:36:02 -07:00
rio-scan.c rapidio: modify for rev.3 specification changes 2016-08-02 19:35:37 -04:00
rio-sysfs.c rapidio: use kobj_to_dev() 2016-01-20 17:09:18 -08:00
rio.c rapidio: modify for rev.3 specification changes 2016-08-02 19:35:37 -04:00
rio.h rapidio: modify for rev.3 specification changes 2016-08-02 19:35:37 -04:00
rio_cm.c rapidio/rio_cm: avoid GFP_KERNEL in atomic context 2016-09-19 15:36:17 -07:00