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;
-- Martin Wilck Phone: +49 5251 8 15113 Fujitsu Siemens Computers Fax: +49 5251 8 20409 Heinz-Nixdorf-Ring 1 mailto:Martin.Wilck@Fujitsu-Siemens.com D-33106 Paderborn http://www.fujitsu-siemens.com/primergy- 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/
This archive was generated by hypermail 2b29 : Sat Jun 15 2002 - 22:00:25 EST