aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/README.AddingFirmware
diff options
context:
space:
mode:
authorGal Rosen <galr@storwize.com>2010-01-21 03:15:32 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2010-04-01 19:01:32 -0400
commitae56fa68db2da81677393b9a3b777b96ac683cbb (patch)
tree5e6f388b8e3fa4d4dd2a71d77bbef2d3f5e6fb44 /firmware/README.AddingFirmware
parent82df18799be6189a905651888ea471ef11e01807 (diff)
SCSI: scsi_transport_fc: Fix synchronization issue while deleting vport
commit 0d9dc7c8b9b7fa0f53647423b41056ee1beed735 upstream. The issue occur while deleting 60 virtual ports through the sys interface /sys/class/fc_vports/vport-X/vport_delete. It happen while in a mistake each request sent twice for the same vport. This interface is asynchronous, entering the delete request into a work queue, allowing more than one request to enter to the delete work queue. The result is a NULL pointer. The first request already delete the vport, while the second request got a pointer to the vport before the device destroyed. Re-create vport later cause system freeze. Solution: Check vport flags before entering the request to the work queue. [jejb: fixed int<->long problem on spinlock flags variable] Signed-off-by: Gal Rosen <galr@storwize.com> Acked-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'firmware/README.AddingFirmware')
0 files changed, 0 insertions, 0 deletions