scsi: sd: Introduce a new local variable in sd_check_events()
authorBart Van Assche <bvanassche@acm.org>
Thu, 15 Apr 2021 22:08:22 +0000 (15:08 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 16 Apr 2021 02:44:41 +0000 (22:44 -0400)
Instead of using 'retval' to represent first a SCSI status and later
whether or not a disk change event occurred, introduce a new variable for
the latter purpose.

Link: https://lore.kernel.org/r/20210415220826.29438-17-bvanassche@acm.org
Cc: Christoph Hellwig <hch@lst.de>
Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Daniel Wagner <dwagner@suse.de>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/sd.c

index 91c34ee972c7984e8fefa4c38a1f7a4ac18b16b7..cb3c37d1e0091c2a9f191edaefff6581ca0f0dd5 100644 (file)
@@ -1623,6 +1623,7 @@ static unsigned int sd_check_events(struct gendisk *disk, unsigned int clearing)
        struct scsi_disk *sdkp = scsi_disk_get(disk);
        struct scsi_device *sdp;
        int retval;
+       bool disk_changed;
 
        if (!sdkp)
                return 0;
@@ -1680,10 +1681,10 @@ out:
         *      Medium present state has changed in either direction.
         *      Device has indicated UNIT_ATTENTION.
         */
-       retval = sdp->changed ? DISK_EVENT_MEDIA_CHANGE : 0;
+       disk_changed = sdp->changed;
        sdp->changed = 0;
        scsi_disk_put(sdkp);
-       return retval;
+       return disk_changed ? DISK_EVENT_MEDIA_CHANGE : 0;
 }
 
 static int sd_sync_cache(struct scsi_disk *sdkp, struct scsi_sense_hdr *sshdr)