[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: IDE-problems



Benjamin Herrenschmidt <bh40@calva.net> writes:

> >I have recompiled my 2.2.17pre11 kernel with int timeout=5000; nothing
> >has changed (PB 3400):
> Sounds like a bogus hard disk, it's returning an error status from the
> SET_FEATURE command while advertising some DMA support. I'll double check
> my code, but at first, I think the drive is wrong. I suggest you edit
> drivers/block/ide_pmac.c, and try several things:
> 
>  - First, try increasing the wait_for_ready to a larger value

line 597:
int timeout = 5000 (was 2000)

>  - Try increasing the IDE_WAKEUP_DELAY_MS definition to a much larger
> value (10000 ?)

line 102:
#define IDE_WAKEUP_DELAY_MS 10000 (was 1500)

>  - In function dma_bits_to_command(), comment out the MDMA 2 case (should
> look like this:
> 
> static __inline__ unsigned char
> dma_bits_to_command(unsigned char bits)
> {
> /*
> 	if(bits & 0x04)
> 		return IDE_DMA2_ENABLE;
> */
> 	if(bits & 0x02)
> 		return IDE_DMA1_ENABLE;
> 	return IDE_DMA0_ENABLE;
> }

OK

> And finally, you can try compiling without the "automatic" enable of DMA
> in the config option but this will give you a much slower hard disk. I
> would prefer if you could first test the previous stuffs so it helps me
> figuring out what's wrong.

I'll try this if nothing else works. Let me check the new kernel first.

Andre



Reply to: