diff options
author | Jiri Pirko <jiri@mellanox.com> | 2018-05-17 12:06:43 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-05-17 16:23:29 -0400 |
commit | 3b734ff604d32e3e1d7db877d801818967ad325f (patch) | |
tree | 94e4b4efbfe94058b2ef64c0d05b6a6b5ff5c2d9 /drivers/net/ethernet/netronome/nfp/nfp_net_repr.h | |
parent | 6d9f868fc7d3b3137638895d659b986a49253a7d (diff) | |
download | linux-stable-3b734ff604d32e3e1d7db877d801818967ad325f.tar.gz linux-stable-3b734ff604d32e3e1d7db877d801818967ad325f.tar.bz2 linux-stable-3b734ff604d32e3e1d7db877d801818967ad325f.zip |
nfp: flower: fix error path during representor creation
Don't store repr pointer to reprs array until the representor is
successfully created. This avoids message about "representor
destruction" even when it was never created. Also it cleans-up the flow.
Also, check return value after port alloc.
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_net_repr.h')
-rw-r--r-- | drivers/net/ethernet/netronome/nfp/nfp_net_repr.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.h b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.h index a621e8ff528e..cd756a15445f 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.h +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.h @@ -123,6 +123,7 @@ void nfp_repr_inc_rx_stats(struct net_device *netdev, unsigned int len); int nfp_repr_init(struct nfp_app *app, struct net_device *netdev, u32 cmsg_port_id, struct nfp_port *port, struct net_device *pf_netdev); +void nfp_repr_free(struct net_device *netdev); struct net_device *nfp_repr_alloc(struct nfp_app *app); void nfp_reprs_clean_and_free(struct nfp_app *app, struct nfp_reprs *reprs); void nfp_reprs_clean_and_free_by_type(struct nfp_app *app, |