Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5d3f1a49 authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by David S. Miller
Browse files

hpt366: add debounce delay to cable_detect() method



Alan Cox reported that cable detection sometimes works unreliably
for HPT3xxN and that the issue is fixed by adding debounce delay
as used by the vendor drivers.

While at it, get rid of unneeded parens/space in the vicinity...

Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b18cae42
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -1173,8 +1173,9 @@ static u8 hpt3xx_cable_detect(ide_hwif_t *hwif)
		u16 mcr;

		pci_read_config_word(dev, mcr_addr, &mcr);
		pci_write_config_word(dev, mcr_addr, (mcr | 0x8000));
		/* now read cable id register */
		pci_write_config_word(dev, mcr_addr, mcr | 0x8000);
		/* Debounce, then read cable ID register */
		udelay(10);
		pci_read_config_byte(dev, 0x5a, &scr1);
		pci_write_config_word(dev, mcr_addr, mcr);
	} else if (chip_type >= HPT370) {
@@ -1185,8 +1186,9 @@ static u8 hpt3xx_cable_detect(ide_hwif_t *hwif)
		u8 scr2 = 0;

		pci_read_config_byte(dev, 0x5b, &scr2);
		pci_write_config_byte(dev, 0x5b, (scr2 & ~1));
		/* now read cable id register */
		pci_write_config_byte(dev, 0x5b, scr2 & ~1);
		/* Debounce, then read cable ID register */
		udelay(10);
		pci_read_config_byte(dev, 0x5a, &scr1);
		pci_write_config_byte(dev, 0x5b, scr2);
	} else