mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
0278ccd9d5
If firewire-sbp2 starts a login to a target that doesn't complete ORBs in a timely manner (and has to retry the login), and the module is removed before the operation times out, you end up with a null-pointer dereference and a kernel panic. [SR: This happens because sbp2_target_get/put() do not maintain module references. scsi_device_get/put() do, but at occasions like Chris describes one, nobody holds a reference to an SBP-2 sdev.] This patch cancels pending work for each unit in sbp2_remove(), which hopefully means there are no extra references around that prevent us from unloading. This fixes my crash. Signed-off-by: Chris Boot <bootc@bootc.net> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> |
||
---|---|---|
.. | ||
core-card.c | ||
core-cdev.c | ||
core-device.c | ||
core-iso.c | ||
core-topology.c | ||
core-transaction.c | ||
core.h | ||
init_ohci1394_dma.c | ||
Kconfig | ||
Makefile | ||
net.c | ||
nosy-user.h | ||
nosy.c | ||
nosy.h | ||
ohci.c | ||
ohci.h | ||
sbp2.c |