Loading drivers/ata/pata_via.c +13 −6 Original line number Diff line number Diff line Loading @@ -303,14 +303,21 @@ static void via_do_set_mode(struct ata_port *ap, struct ata_device *adev, int mo } /* Set UDMA unless device is not UDMA capable */ if (udma_type && t.udma) { u8 cable80_status; if (udma_type) { u8 udma_etc; /* Get 80-wire cable detection bit */ pci_read_config_byte(pdev, 0x50 + offset, &cable80_status); cable80_status &= 0x10; pci_read_config_byte(pdev, 0x50 + offset, &udma_etc); pci_write_config_byte(pdev, 0x50 + offset, ut | cable80_status); /* clear transfer mode bit */ udma_etc &= ~0x20; if (t.udma) { /* preserve 80-wire cable detection bit */ udma_etc &= 0x10; udma_etc |= ut; } pci_write_config_byte(pdev, 0x50 + offset, udma_etc); } } Loading Loading
drivers/ata/pata_via.c +13 −6 Original line number Diff line number Diff line Loading @@ -303,14 +303,21 @@ static void via_do_set_mode(struct ata_port *ap, struct ata_device *adev, int mo } /* Set UDMA unless device is not UDMA capable */ if (udma_type && t.udma) { u8 cable80_status; if (udma_type) { u8 udma_etc; /* Get 80-wire cable detection bit */ pci_read_config_byte(pdev, 0x50 + offset, &cable80_status); cable80_status &= 0x10; pci_read_config_byte(pdev, 0x50 + offset, &udma_etc); pci_write_config_byte(pdev, 0x50 + offset, ut | cable80_status); /* clear transfer mode bit */ udma_etc &= ~0x20; if (t.udma) { /* preserve 80-wire cable detection bit */ udma_etc &= 0x10; udma_etc |= ut; } pci_write_config_byte(pdev, 0x50 + offset, udma_etc); } } Loading