All of lore.kernel.org
 help / color / mirror / Atom feed
* [saeed:net-next-mlx5 68/77] drivers/net/ethernet/mellanox/mlx5/core/en/trap.c:177 mlx5e_open_trap_rq() warn: inconsistent indenting
@ 2020-12-27 16:10 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-12-27 16:10 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 7961 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git net-next-mlx5
head:   efb97448db0214e087358988a953fe3bdc065e58
commit: 1cd0121b3dbd6b1a18341f1e1dd39aff96507985 [68/77] net/mlx5e: Add trap entity to ETH driver
config: i386-randconfig-m021-20201227 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

smatch warnings:
drivers/net/ethernet/mellanox/mlx5/core/en/trap.c:177 mlx5e_open_trap_rq() warn: inconsistent indenting
drivers/net/ethernet/mellanox/mlx5/core/en/trap.c:362 mlx5e_handle_action_trap() error: we previously assumed 'priv->en_trap' could be null (see line 351)

vim +177 drivers/net/ethernet/mellanox/mlx5/core/en/trap.c

   148	
   149	static int mlx5e_open_trap_rq(struct mlx5e_priv *priv, struct napi_struct *napi,
   150				      struct mlx5e_rq_stats *stats, struct mlx5e_params *params,
   151				      struct mlx5e_rq_param *rq_param,
   152				      struct mlx5e_ch_stats *ch_stats,
   153				      struct mlx5e_rq *rq)
   154	{
   155		struct mlx5_core_dev *mdev = priv->mdev;
   156		struct mlx5e_create_cq_param ccp = {};
   157		struct dim_cq_moder trap_moder = {};
   158		struct mlx5e_cq *cq = &rq->cq;
   159		int err;
   160	
   161		ccp.node     = dev_to_node(mdev->device);
   162		ccp.ch_stats = ch_stats;
   163		ccp.napi     = napi;
   164		ccp.ix       = 0;
   165		err = mlx5e_open_cq(priv, trap_moder, &rq_param->cqp, &ccp, cq);
   166		if (err)
   167			return err;
   168	
   169		err = mlx5e_alloc_trap_rq(priv, rq_param, stats, params, ch_stats, rq);
   170		if (err)
   171			goto err_destroy_cq;
   172	
   173		err = mlx5e_create_rq(rq, rq_param);
   174		if (err)
   175			goto err_free_rq;
   176	
 > 177		 err = mlx5e_modify_rq_state(rq, MLX5_RQC_STATE_RST, MLX5_RQC_STATE_RDY);
   178		if (err)
   179			goto err_destroy_rq;
   180	
   181		return 0;
   182	
   183	err_destroy_rq:
   184		mlx5e_destroy_rq(rq);
   185		mlx5e_free_rx_descs(rq);
   186	err_free_rq:
   187		mlx5e_free_trap_rq(rq);
   188	err_destroy_cq:
   189		mlx5e_close_cq(cq);
   190	
   191		return err;
   192	}
   193	
   194	static void mlx5e_close_trap_rq(struct mlx5e_rq *rq)
   195	{
   196		mlx5e_destroy_rq(rq);
   197		mlx5e_free_rx_descs(rq);
   198		mlx5e_free_trap_rq(rq);
   199		mlx5e_close_cq(&rq->cq);
   200	}
   201	
   202	static int mlx5e_create_trap_direct_rq_tir(struct mlx5_core_dev *mdev, struct mlx5e_tir *tir,
   203						   u32 rqn)
   204	{
   205		void *tirc;
   206		int inlen;
   207		u32 *in;
   208		int err;
   209	
   210		inlen = MLX5_ST_SZ_BYTES(create_tir_in);
   211		in = kvzalloc(inlen, GFP_KERNEL);
   212		if (!in)
   213			return -ENOMEM;
   214	
   215		tirc = MLX5_ADDR_OF(create_tir_in, in, ctx);
   216		MLX5_SET(tirc, tirc, transport_domain, mdev->mlx5e_res.td.tdn);
   217		MLX5_SET(tirc, tirc, rx_hash_fn, MLX5_RX_HASH_FN_NONE);
   218		MLX5_SET(tirc, tirc, disp_type, MLX5_TIRC_DISP_TYPE_DIRECT);
   219		MLX5_SET(tirc, tirc, inline_rqn, rqn);
   220		err = mlx5e_create_tir(mdev, tir, in);
   221		kvfree(in);
   222	
   223		return err;
   224	}
   225	
   226	static void mlx5e_destroy_trap_direct_rq_tir(struct mlx5_core_dev *mdev, struct mlx5e_tir *tir)
   227	{
   228		mlx5e_destroy_tir(mdev, tir);
   229	}
   230	
   231	static void mlx5e_activate_trap_rq(struct mlx5e_rq *rq)
   232	{
   233		set_bit(MLX5E_RQ_STATE_ENABLED, &rq->state);
   234	}
   235	
   236	static void mlx5e_deactivate_trap_rq(struct mlx5e_rq *rq)
   237	{
   238		clear_bit(MLX5E_RQ_STATE_ENABLED, &rq->state);
   239	}
   240	
   241	static void mlx5e_build_trap_params(struct mlx5e_priv *priv, struct mlx5e_trap *t)
   242	{
   243		struct mlx5e_params *params = &t->params;
   244	
   245		params->rq_wq_type = MLX5_WQ_TYPE_CYCLIC;
   246		mlx5e_init_rq_type_params(priv->mdev, params);
   247		params->sw_mtu = priv->netdev->max_mtu;
   248		mlx5e_build_rq_param(priv, params, NULL, &t->rq_param);
   249	}
   250	
   251	static int mlx5e_open_trap(struct mlx5e_priv *priv)
   252	{
   253		int cpu = cpumask_first(mlx5_comp_irq_get_affinity_mask(priv->mdev, 0));
   254		struct net_device *netdev = priv->netdev;
   255		struct mlx5e_trap *t;
   256		int err;
   257	
   258		t = kvzalloc_node(sizeof(*t), GFP_KERNEL, cpu_to_node(cpu));
   259		if (!t)
   260			return -ENOMEM;
   261	
   262		mlx5e_build_trap_params(priv, t);
   263	
   264		t->priv     = priv;
   265		t->mdev     = priv->mdev;
   266		t->tstamp   = &priv->tstamp;
   267		t->pdev     = mlx5_core_dma_dev(priv->mdev);
   268		t->netdev   = priv->netdev;
   269		t->mkey_be  = cpu_to_be32(priv->mdev->mlx5e_res.mkey.key);
   270		t->stats    = &priv->trap_stats.ch;
   271	
   272		netif_napi_add(netdev, &t->napi, mlx5e_trap_napi_poll, 64);
   273	
   274		err = mlx5e_open_trap_rq(priv, &t->napi,
   275					 &priv->trap_stats.rq,
   276					 &t->params, &t->rq_param,
   277					 &priv->trap_stats.ch,
   278					 &t->rq);
   279		if (unlikely(err))
   280			goto err_napi_del;
   281	
   282		err = mlx5e_create_trap_direct_rq_tir(t->mdev, &t->tir, t->rq.rqn);
   283		if (err)
   284			goto err_close_trap_rq;
   285	
   286		priv->en_trap = t;
   287		return 0;
   288	
   289	err_close_trap_rq:
   290		mlx5e_close_trap_rq(&t->rq);
   291	err_napi_del:
   292		netif_napi_del(&t->napi);
   293		kvfree(t);
   294		return err;
   295	}
   296	
   297	void mlx5e_close_trap(struct mlx5e_priv *priv)
   298	{
   299		struct mlx5e_trap *trap = priv->en_trap;
   300	
   301		mlx5e_destroy_trap_direct_rq_tir(trap->mdev, &trap->tir);
   302		mlx5e_close_trap_rq(&trap->rq);
   303		netif_napi_del(&trap->napi);
   304	
   305		kvfree(trap);
   306		priv->en_trap = NULL;
   307	}
   308	
   309	static void mlx5e_activate_trap(struct mlx5e_priv *priv)
   310	{
   311		struct mlx5e_trap *trap = priv->en_trap;
   312	
   313		napi_enable(&trap->napi);
   314		mlx5e_activate_trap_rq(&trap->rq);
   315		napi_schedule(&trap->napi);
   316	}
   317	
   318	void mlx5e_deactivate_trap(struct mlx5e_priv *priv)
   319	{
   320		struct mlx5e_trap *trap = priv->en_trap;
   321	
   322		mlx5e_deactivate_trap_rq(&trap->rq);
   323		napi_disable(&trap->napi);
   324	}
   325	
   326	static int mlx5e_add_trap_queue(struct mlx5e_priv *priv)
   327	{
   328		int err;
   329	
   330		err = mlx5e_open_trap(priv);
   331		if (err)
   332			return err;
   333	
   334		mlx5e_activate_trap(priv);
   335		return 0;
   336	}
   337	
   338	static void mlx5e_del_trap_queue(struct mlx5e_priv *priv)
   339	{
   340		mlx5e_deactivate_trap(priv);
   341		mlx5e_close_trap(priv);
   342	}
   343	
   344	static int mlx5e_trap_get_tirn(struct mlx5e_trap *en_trap)
   345	{
   346		return en_trap->tir.tirn;
   347	}
   348	
   349	static int mlx5e_handle_action_trap(struct mlx5e_priv *priv, int trap_id)
   350	{
 > 351		bool open_queue = !priv->en_trap;
   352		int err;
   353	
   354		if (open_queue) {
   355			err = mlx5e_add_trap_queue(priv);
   356			if (err)
   357				return err;
   358		}
   359	
   360		switch (trap_id) {
   361		case DEVLINK_TRAP_GENERIC_ID_INGRESS_VLAN_FILTER:
 > 362			err = mlx5e_add_vlan_trap(priv, trap_id, mlx5e_trap_get_tirn(priv->en_trap));
   363			if (err)
   364				goto err_out;
   365			break;
   366		default:
   367			netdev_warn(priv->netdev, "%s: Unknown trap id %d\n", __func__, trap_id);
   368			err = -EINVAL;
   369			goto err_out;
   370		}
   371		return 0;
   372	
   373	err_out:
   374		if (open_queue)
   375			mlx5e_del_trap_queue(priv);
   376		return err;
   377	}
   378	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30292 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-12-27 16:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-27 16:10 [saeed:net-next-mlx5 68/77] drivers/net/ethernet/mellanox/mlx5/core/en/trap.c:177 mlx5e_open_trap_rq() warn: inconsistent indenting kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.