• Stefan Richter's avatar
    firewire: fw-sbp2: enforce a retry of __scsi_add_device if bus generation changed · e80de370
    Stefan Richter authored
    fw-sbp2 is unable to reconnect while performing __scsi_add_device
    because there is only a single workqueue thread context available for
    both at the moment.  This should be fixed eventually.
    
    An actual failure of __scsi_add_device is easy to handle, but an
    incomplete execution of __scsi_add_device with an sdev returned would
    remain undetected and leave the SBP-2 target unusable.
    
    Therefore we use a workaround:  If there was a bus reset during
    __scsi_add_device (i.e. during the SCSI probe), we remove the new sdev
    immediately, log out, and attempt login and SCSI probe again.
    
    Tested-by: Jarod Wilson <jwilson@redhat.com> (earlier version)
    Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
    e80de370
fw-sbp2.c 41.4 KB