--- zzzz-none-000/linux-2.6.28.10/drivers/scsi/sd.c 2009-05-02 18:54:43.000000000 +0000 +++ puma5-6360-529/linux-2.6.28.10/drivers/scsi/sd.c 2011-05-24 14:43:47.000000000 +0000 @@ -1142,17 +1142,22 @@ * doesn't have any media in it, don't bother * with any more polling. */ - if (media_not_present(sdkp, &sshdr)) - return; + /* 20110524 AVM/WK FIX: don't exit too early and give more retries */ + //if (media_not_present(sdkp, &sshdr)) + // return; if (the_result) sense_valid = scsi_sense_valid(&sshdr); retries++; - } while (retries < 3 && + } while (retries < 25 && (!scsi_status_is_good(the_result) || ((driver_byte(the_result) & DRIVER_SENSE) && sense_valid && sshdr.sense_key == UNIT_ATTENTION))); + /* 20110524 AVM/WK Moved: exit if media is still not present */ + if (media_not_present(sdkp, &sshdr)) + return; + if ((driver_byte(the_result) & DRIVER_SENSE) == 0) { /* no sense, TUR either succeeded or failed * with a status error */