On Mon, May 07, 2007 at 06:42:26PM +0200, Tejun Heo wrote: > It seems the world isn't as frank as we thought and some devices lie > about who they are. Fallback to the other IDENTIFY if IDENTIFY fails > with device error. As this is the strategy used by IDE for a long > time, it shouldn't cause too much problem. > > Signed-off-by: Tejun Heo <htejun@xxxxxxxxx> > Cc: William Thompson <wt@xxxxxxxxxxxxxxxxxxxxxx> > --- > Willam, please verify this fixes your problem. Jeff, after all, we > seem to need this. :-( Seems that I have a different version than you do. See below. > diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c > index ca67484..f543109 100644 > --- a/drivers/ata/libata-core.c > +++ b/drivers/ata/libata-core.c > @@ -1652,7 +1652,7 @@ int ata_dev_read_id(struct ata_device *d > struct ata_taskfile tf; > unsigned int err_mask = 0; > const char *reason; > - int tried_spinup = 0; > + int may_fallback = 1, tried_spinup = 0; > int rc; My version doesn't have "int tried_spinup = 0;" in it at all. I did find where const char *reason; is (line 1455) I'm using 2.6.20 I probably won't use 2.6.21 due to some of the problems I read about on the kernel list. I'll manually add this patch to mine and see how far I get. - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html