• S
    firewire: fw-sbp2: don't add scsi_device twice · 0fa6dfdb
    Stefan Richter 提交于
    When a reconnect failed but re-login succeeded, __scsi_add_device was
    called again.
    
    In those cases, __scsi_add_device succeeded and returned the pointer to
    the existing scsi_device.  fw-sbp2 then continued orderly, except that
    it missed to call sbp2_cancel_orbs.  SCSI core would call fw-sbp2's
    eh_abort_handler eventually if there had been an outstanding command.
    
    This patch avoids the needless lookups and temporary allocations in SCSI
    core and I/O stall and timeout until eh_abort_handler hits.
    
    Also, __scsi_add_device tolerating calls for devices which already exist
    is undocumented behavior on which we shouldn't rely.
    Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
    Signed-off-by: NJarod Wilson <jwilson@redhat.com>
    0fa6dfdb
fw-sbp2.c 40.2 KB