For my personal taste sd_spinup_disk() is a little bit noisy now. [ 1.942179] scsi 0:0:0:0: Direct-Access Multiple Card Reader 1.00 PQ: 0 ANSI: 0 [ 1.943651] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 1.943667] sd 0:0:0:0: [sda] Media removed, stopped polling [ 1.949970] sd 0:0:0:0: [sda] Media removed, stopped polling [ 1.950001] sd 0:0:0:0: [sda] Attached SCSI removable disk [ 1.959266] sd 0:0:0:0: [sda] Media removed, stopped polling There's not really a benefit in printing the same message multiple times. The following helped for me, not sure however whether that's the right way to deal with it. diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index cbd9999f9..af7e7b0da 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -2124,6 +2124,8 @@ sd_spinup_disk(struct scsi_disk *sdkp) retries = 0; do { + u8 media_was_present = sdkp->media_present; + cmd[0] = TEST_UNIT_READY; memset((void *) &cmd[1], 0, 9); @@ -2138,7 +2140,8 @@ sd_spinup_disk(struct scsi_disk *sdkp) * with any more polling. */ if (media_not_present(sdkp, &sshdr)) { - sd_printk(KERN_NOTICE, sdkp, "Media removed, stopped polling\n"); + if (media_was_present) + sd_printk(KERN_NOTICE, sdkp, "Media removed, stopped polling\n"); return; } -- 2.33.0