Re: [PATCH] PCI / tg3: Give up chip reset and carrier losshandling if PCI device is not present

From: David Miller
Date: Mon Dec 02 2013 - 16:02:33 EST


From: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>
Date: Sun, 01 Dec 2013 02:34:37 +0100

> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> Modify tg3_chip_reset() and tg3_close() to check if the PCI network
> adapter device is accessible at all in order to skip poking it or
> trying to handle a carrier loss in vain when that's not the case.
> Introduce a special PCI helper function pci_device_is_present()
> for this purpose.
>
> Of course, this uncovers the lack of the appropriate RTNL locking
> in tg3_suspend() and tg3_resume(), so add that locking in there
> too.
>
> These changes prevent tg3 from burning a CPU at 100% load level for
> solid several seconds after the Thunderbolt link is disconnected from
> a Matrox DS1 docking station.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

Applied, thanks everyone.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/