Re: OSB4 PATCH (was: Re: Serverworks OSB4 in impossible state)
Christian Zoffoli (czoffoli@studiobz.it)
Wed, 12 Jun 2002 22:35:18 +0200
Martin Wilck wrote:
> Am Mit, 2002-06-12 um 11.14 schrieb Alan Cox:
>  > Entirely agreed
> 
> I propose this patch to remedy the problem.
> 
> I don't know how to test if the drive is a seagate drive, and
> I think we don't want to do that, because it would end up in yet another
> blacklist.
> 
> I cannot test if this behaves correctly on machines that do expose the
> 4-byte shift bug - it would be great if somebody could test that.
> 
> Martin
> 
> --- drivers/ide/serverworks.c.orig	Tue Jun 11 11:24:59 2002
> +++ drivers/ide/serverworks.c	Wed Jun 12 12:00:36 2002
> @@ -547,7 +547,13 @@
>  			ide_hwif_t *hwif		= HWIF(drive);
>  			unsigned long dma_base		= hwif->dma_base;
>  	
> -			if(inb(dma_base+0x02)&1)
> +			/* If it's a disk on the OSB4, the DMA engine is still on,
> +			   and the device reports no error status, we are probably
> +			   facing the "4 byte shift" problem */
> +			if(drive->media == ide_disk && 
> +			   hwif->pci_dev->device == PCI_DEVICE_ID_SERVERWORKS_OSB4IDE && 
> +			   inb(dma_base+0x02)&1 &&
> +			   OK_STAT (GET_STAT(), DRIVE_READY, BAD_STAT))
>  			{
>  #if 0		
>  				int i;
> 
> 
It works for me ...I have a supermicro 370DE6 (serverworks HE-SL) and a 
maxtor HD (5T030H3).
Christian
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/