Skip to content
  • Bart Van Assche's avatar
    scsi: core: Avoid that system resume triggers a kernel warning · 388b4e6a
    Bart Van Assche authored
    
    
    scsi_device_quiesce() and scsi_device_resume() are called during
    system-wide suspend and resume. scsi_device_quiesce() only succeeds for
    SCSI devices that are in one of the RUNNING, OFFLINE or TRANSPORT_OFFLINE
    states (see also scsi_set_device_state()).  This patch avoids that the
    following warning is triggered when resuming a system for which quiescing a
    SCSI device failed:
    
    WARNING: CPU: 2 PID: 11303 at drivers/scsi/scsi_lib.c:2600 scsi_device_resume+0x4f/0x58
    CPU: 2 PID: 11303 Comm: kworker/u8:70 Not tainted 5.0.0-rc1+ #50
    Hardware name: LENOVO 80E3/Lancer 5B2, BIOS A2CN45WW(V2.13) 08/04/2016
    Workqueue: events_unbound async_run_entry_fn
    Call Trace:
     scsi_dev_type_resume+0x2e/0x60
     async_run_entry_fn+0x32/0xd8
     process_one_work+0x1f4/0x420
     worker_thread+0x28/0x3c0
     kthread+0x118/0x130
     ret_from_fork+0x22/0x40
    
    Cc: Przemek Socha <soprwa@gmail.com>
    Reported-by: default avatarPrzemek Socha <soprwa@gmail.com>
    Fixes: 3a0a5299
    
     ("block, scsi: Make SCSI quiesce and resume work reliably") # v4.15
    Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    388b4e6a