Re: PATCH: IDE - do spin up for all platforms
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2004-08-09 22:13:41
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2004-08-09 22:13:41
On Tue, 2004-08-10 at 00:57, Jeff Garzik wrote:
It needs to check for "status != 0x7f" which is the standard "no device here" return status.
Nope, it waits for BSY to go down
But worse than that, status can return 0xFF for "no hardware there", in which case this routine will hang the boot for 35 seconds.
My original version did, let me check.. yes, the current code does that too, check ide_wait_not_busy. Note that this is a workaround for broken hardware as the spec clearly says that D7 should be pulled low so that no drive returns 0x7f (BSY clear). However, there is a significant amount of HW with this bug...
Note also that libata code does this:
* wait 7 seconds
* printk("it's taking a long time, be patient")
* wait ~30 secondsThat could be a good idea. Patch welcome :) Ben.