net/e1000: fix link status
Checks
Commit Message
The link status got from link status register was not correct,
because register has been reset when ports reset.
After port reset, set the link status down.
Fixes: c431ec66c54c ("net/igb: support setting link up or down")
Cc: stable@dpdk.org
Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
---
drivers/net/e1000/igb_ethdev.c | 2 ++
1 file changed, 2 insertions(+)
Comments
Hi,
> -----Original Message-----
> From: Cui, LunyuanX
> Sent: Wednesday, November 13, 2019 8:47 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Yang, Qiming
> <qiming.yang@intel.com>; Cui, LunyuanX <lunyuanx.cui@intel.com>;
> stable@dpdk.org
> Subject: [PATCH] net/e1000: fix link status
>
> The link status got from link status register was not correct, because register
> has been reset when ports reset.
> After port reset, set the link status down.
>
> Fixes: c431ec66c54c ("net/igb: support setting link up or down")
> Cc: stable@dpdk.org
>
> Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
On 11/26, Lu, Wenzhuo wrote:
>Hi,
>
>> -----Original Message-----
>> From: Cui, LunyuanX
>> Sent: Wednesday, November 13, 2019 8:47 PM
>> To: dev@dpdk.org
>> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Yang, Qiming
>> <qiming.yang@intel.com>; Cui, LunyuanX <lunyuanx.cui@intel.com>;
>> stable@dpdk.org
>> Subject: [PATCH] net/e1000: fix link status
>>
>> The link status got from link status register was not correct, because register
>> has been reset when ports reset.
>> After port reset, set the link status down.
>>
>> Fixes: c431ec66c54c ("net/igb: support setting link up or down")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Lunyuan Cui <lunyuanx.cui@intel.com>
>Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Applied to dpdk-next-net-intel, Thanks.
@@ -891,6 +891,8 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev)
/* enable support intr */
igb_intr_enable(eth_dev);
+ eth_igb_dev_set_link_down(eth_dev);
+
/* initialize filter info */
memset(filter_info, 0,
sizeof(struct e1000_filter_info));