• Tejun Heo's avatar
    libata: improve SCSI scan failure handling · 1ae46317
    Tejun Heo authored
    SCSI scan may fail due to memory allocation failure even if EH is not
    in progress.  Due to use of GFP_ATOMIC in SCSI scan path, allocation
    failure isn't too rare especially while probing multiple devices at
    once which is the case when a bunch of devices are connected to PMP.
    
    This patch moves SCSI scan failure detetion logic from
    ata_scsi_hotplug() to ata_scsi_scan_host() and implement synchronous
    scan behavior.  The synchronous path sleeps briefly and repeats SCSI
    scan if some devices aren't attached properly.  It contains robust
    retry loop to minimize the chance of device misdetection during boot
    and falls back to async retry if everything fails.
    Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    1ae46317
libata-scsi.c 85 KB