• Damien Le Moal's avatar
    scsi: sd: Do not repeat the starting disk message · 7a6bbc28
    Damien Le Moal authored
    The SCSI disk message "Starting disk" to signal resuming of a suspended
    disk is printed in both sd_resume() and sd_resume_common() which results
    in this message being printed twice when resuming from e.g. autosuspend:
    
    $ echo 5000 > /sys/block/sda/device/power/autosuspend_delay_ms
    $ echo auto > /sys/block/sda/device/power/control
    
    [ 4962.438293] sd 0:0:0:0: [sda] Synchronizing SCSI cache
    [ 4962.501121] sd 0:0:0:0: [sda] Stopping disk
    
    $ echo on > /sys/block/sda/device/power/control
    
    [ 4972.805851] sd 0:0:0:0: [sda] Starting disk
    [ 4980.558806] sd 0:0:0:0: [sda] Starting disk
    
    Fix this double print by removing the call to sd_printk() from sd_resume()
    and moving the call to sd_printk() in sd_resume_common() earlier in the
    function, before the check using sd_do_start_stop().  Doing so, the message
    is printed once regardless if sd_resume_common() actually executes
    sd_start_stop_device() (i.e. SCSI device case) or not (libsas and libata
    managed ATA devices case).
    
    Fixes: 0c76106c ("scsi: sd: Fix TCG OPAL unlock on system resume")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarDamien Le Moal <dlemoal@kernel.org>
    Link: https://lore.kernel.org/r/20240701215326.128067-1-dlemoal@kernel.orgReviewed-by: default avatarBart Van Assche <bvanassche@acm.org>
    Reviewed-by: default avatarJohn Garry <john.g.garry@oracle.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    7a6bbc28
sd.c 112 KB