Re: ide-cd problem

From: Bill Davidsen
Date: Mon Nov 29 2004 - 15:48:29 EST


Alan Chandler wrote:
On Tuesday 23 November 2004 21:49, Alan Chandler wrote:


Before, I thought my hardware was a little out of spec - now I think there
is something else at play here.



Firstly, I think there might be another race condition like the one Alan Cox found. I attach a patch below with the fix for that (against 2.6.10-rc2, an including Alan's patch) I'm not 100% sure its necessary, but it seems fix a variation I have been seeing.

With it in place, and apart from the ongoing issue - see below, I have managed to remove the delay in drive_is_ready() altogether without any ill effects.

[my reading of the ATA spec is that 400ns is needed after reading the status reg before IRQ is removed, I had wondered whether it would be better to record the time here and then check whether we had used up the 400ns just before returning from the interrupt state]

The method is sound, I did some industrial control in a previous job and used a back-to-back timer in a similar way. Just before starting an operation I checked to see that it wasn't too soon and did a delay if so.

Depending on the path through the code, it may be easier to get right by just putting in the delay.

--
-bill davidsen (davidsen@xxxxxxx)
"The secret to procrastination is to put things off until the
last possible moment - but no longer" -me

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/