In sd.c I find: 


                        spintime_value = jiffies;
                        time1 = HZ;
                        /* Wait 1 second for next try */
                        do {
                                current->state = TASK_UNINTERRUPTIBLE;
                                time1 = schedule_timeout(time1);
                        } while(time1);
                        printk(".");
                }
        } while (the_result && spintime && time_after(spintime_value + 100 * HZ, 
jiffies));


This will keep on trying to spin up the disk until trying to spin up
the disk (with immediate return) takes longer than 100 seconds. The
spintime_value = jiffies needs to be moved outside the loop, doesn't
it?

My system has been trying to spin up this disk for over 500 seconds
now!


sda: Spinning up 
disk.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

This is in linux-2.4.0-test2, maybe it's been fixed in a later kernel,
I don't know.

Back to 2.2.x ....

                                        Roger. 


-- 
** [EMAIL PROTECTED] ** http://www.BitWizard.nl/ ** +31-15-2137555 **
*-- BitWizard writes Linux device drivers for any device you may have! --*
*       Common sense is the collection of                                *
******  prejudices acquired by age eighteen.   -- Albert Einstein ********

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to