[dpdk-dev,1/1] net/mlx4: update link status upon probing with lsc
Checks
Commit Message
If LSC interrupts are enabled, the application expects the link_update
ops to be executed by the PMD itself.
No link status change event is received upon probing, therefore the link
status update must be forced.
Fixes: c4da6caa426d ("mlx4: handle link status interrupts")
Cc: stable@dpdk.org
Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
---
drivers/net/mlx4/mlx4.c | 3 +++
1 file changed, 3 insertions(+)
Comments
On Fri, Mar 03, 2017 at 04:39:56PM +0100, Gaetan Rivet wrote:
> If LSC interrupts are enabled, the application expects the link_update
> ops to be executed by the PMD itself.
>
> No link status change event is received upon probing, therefore the link
> status update must be forced.
>
> Fixes: c4da6caa426d ("mlx4: handle link status interrupts")
> Cc: stable@dpdk.org
>
> Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
On 3/17/2017 10:40 AM, Adrien Mazarguil wrote:
> On Fri, Mar 03, 2017 at 04:39:56PM +0100, Gaetan Rivet wrote:
>> If LSC interrupts are enabled, the application expects the link_update
>> ops to be executed by the PMD itself.
>>
>> No link status change event is received upon probing, therefore the link
>> status update must be forced.
>>
>> Fixes: c4da6caa426d ("mlx4: handle link status interrupts")
>> Cc: stable@dpdk.org
>>
>> Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
>
> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Applied to dpdk-next-net/master, thanks.
@@ -5722,6 +5722,9 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
/* Bring Ethernet device up. */
DEBUG("forcing Ethernet interface up");
priv_set_flags(priv, ~IFF_UP, IFF_UP);
+ /* Update link status once if waiting for LSC. */
+ if (eth_dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC)
+ mlx4_link_update(eth_dev, 0);
continue;
port_error: