mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-10 07:10:27 +00:00
sata_via: magic vt6421 fix for transmission problems w/ WD drives
vt6421 has problems talking to recent WD drives. It causes a lot of transmission errors while high bandwidth transfer as reported in the following bugzilla entry. https://bugzilla.kernel.org/show_bug.cgi?id=15173 Joseph Chan provided the following fix. I don't have any idea what it does but I can verify the issue is gone with the patch applied. Signed-off-by: Tejun Heo <tj@kernel.org> Originally-from: Joseph Chan <JosephChan@via.com.tw> Reported-by: Jorrit Tijben <sjorrit@gmail.com> Cc: stable@kernel.org Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
67a3e12b05
commit
8b27ff4cf6
@ -575,6 +575,19 @@ static void svia_configure(struct pci_dev *pdev)
|
|||||||
tmp8 |= NATIVE_MODE_ALL;
|
tmp8 |= NATIVE_MODE_ALL;
|
||||||
pci_write_config_byte(pdev, SATA_NATIVE_MODE, tmp8);
|
pci_write_config_byte(pdev, SATA_NATIVE_MODE, tmp8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* vt6421 has problems talking to some drives. The following
|
||||||
|
* is the magic fix from Joseph Chan <JosephChan@via.com.tw>.
|
||||||
|
* Please add proper documentation if possible.
|
||||||
|
*
|
||||||
|
* https://bugzilla.kernel.org/show_bug.cgi?id=15173
|
||||||
|
*/
|
||||||
|
if (pdev->device == 0x3249) {
|
||||||
|
pci_read_config_byte(pdev, 0x52, &tmp8);
|
||||||
|
tmp8 |= 1 << 2;
|
||||||
|
pci_write_config_byte(pdev, 0x52, tmp8);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
static int svia_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user