This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / drivers / scsi / sd.c
index 0d10f10..ebd71b7 100644 (file)
@@ -48,7 +48,6 @@
 #include <linux/blkdev.h>
 #include <linux/blkpg.h>
 #include <linux/kref.h>
-#include <linux/delay.h>
 #include <asm/uaccess.h>
 
 #include <scsi/scsi.h>
@@ -945,6 +944,7 @@ sd_spinup_disk(struct scsi_disk *sdkp, char *diskname,
                 * Issue command to spin up drive when not ready
                 */
                } else if (SRpnt->sr_sense_buffer[2] == NOT_READY) {
+                       unsigned long time1;
                        if (!spintime) {
                                printk(KERN_NOTICE "%s: Spinning up disk...",
                                       diskname);
@@ -963,8 +963,12 @@ sd_spinup_disk(struct scsi_disk *sdkp, char *diskname,
                                spintime_value = jiffies;
                        }
                        spintime = 1;
+                       time1 = HZ;
                        /* Wait 1 second for next try */
-                       msleep(1000);
+                       do {
+                               current->state = TASK_UNINTERRUPTIBLE;
+                               time1 = schedule_timeout(time1);
+                       } while(time1);
                        printk(".");
                } else {
                        /* we don't understand the sense code, so it's
@@ -1104,11 +1108,6 @@ repeat:
                        (buffer[9] << 16) | (buffer[10] << 8) | buffer[11];
        }       
 
-       /* Some devices return the total number of sectors, not the
-        * highest sector number.  Make the necessary adjustment. */
-       if (sdp->fix_capacity)
-               --sdkp->capacity;
-
 got_data:
        if (sector_size == 0) {
                sector_size = 512;