linux-stable/drivers/firewire
Jay Fenlason cd1f70fdb4 firewire: fw-sbp2: fix races
1: There is a small race between queue_delayed_work() and its
   corresponding kref_get().  Do the kref_get first, and _put it again
   if the queue_delayed_work() failed, so there is no chance of the
   kref going to zero while the work is scheduled.
2: An SBP2_LOGOUT_REQUEST could be sent out with a login_id full of
   garbage.  Initialize it to an invalid value so we can tell if we
   ever got a valid login_id.
3: The node ID and generation may have changed but the new values may
   not yet have been recorded in lu and tgt when the final logout is
   attempted.  Use the latest values from the device in
   sbp2_release_target().

Signed-off-by: Jay Fenlason <fenlason@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2008-10-26 10:27:01 +01:00
..
Kconfig firewire: Kconfig help update 2008-08-19 18:47:56 +02:00
Makefile firewire: prefix modules with firewire- instead of fw- 2007-05-27 23:21:01 +02:00
fw-card.c firewire: fw_send_request_sync() 2008-10-15 22:21:09 +02:00
fw-cdev.c firewire: fix ioctl() return code 2008-10-15 22:21:10 +02:00
fw-device.c firewire: fw_send_request_sync() 2008-10-15 22:21:09 +02:00
fw-device.h firewire: remove unused struct members 2008-07-14 13:06:03 +02:00
fw-iso.c dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
fw-ohci.c firewire: fw-ohci: initialization failure path fixes 2008-10-26 10:27:00 +01:00
fw-ohci.h firewire: fw-ohci: log regAccessFail events 2008-04-18 17:55:34 +02:00
fw-sbp2.c firewire: fw-sbp2: fix races 2008-10-26 10:27:01 +01:00
fw-topology.c firewire: fix struct fw_node memory leak 2008-10-26 10:27:00 +01:00
fw-topology.h firewire: reread config ROM when device reset the bus 2008-04-18 17:55:36 +02:00
fw-transaction.c firewire: fw_send_request_sync() 2008-10-15 22:21:09 +02:00
fw-transaction.h firewire: Survive more than 256 bus resets 2008-10-26 10:26:59 +01:00