]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: aquantia: fix wol configuration not applied sometimes
authorNikita Danilov <nikita.danilov@aquantia.com>
Tue, 4 Jun 2019 13:23:49 +0000 (13:23 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Jun 2019 10:19:12 +0000 (12:19 +0200)
commit713f03fa6bf86d116a78211e739aeeb68a95f9e7
tree949f30d1a5d4ab9ff74020b5e12637c8f61553e1
parentcba55c16fbf59fea9e6677323b278713a062f275
net: aquantia: fix wol configuration not applied sometimes

[ Upstream commit 930b9a0543385d4eb8ef887e88cf84d95a844577 ]

WoL magic packet configuration sometimes does not work due to
couple of leakages found.

Mainly there was a regression introduced during readx_poll refactoring.

Next, fw request waiting time was too small. Sometimes that
caused sleep proxy config function to return with an error
and to skip WoL configuration.
At last, WoL data were passed to FW from not clean buffer.
That could cause FW to accept garbage as a random configuration data.

Fixes: 6a7f2277313b ("net: aquantia: replace AQ_HW_WAIT_FOR with readx_poll_timeout_atomic")
Signed-off-by: Nikita Danilov <nikita.danilov@aquantia.com>
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c