net/sfc: fix build when assert enabled
Checks
Commit Message
When 'RTE_ENABLE_ASSERT' is enabled (meson -Dc_args=-DRTE_ENABLE_ASSERT)
build fails:
../drivers/net/sfc/sfc_repr.c: In function ‘sfc_repr_start’:
../drivers/net/sfc/sfc_repr.c:251:20:
warning: implicit declaration of function ‘sfc_repr_lock_is_locked’;
did you mean ‘rte_spinlock_is_locked’?
[-Wimplicit-function-declaration]
251 | SFC_ASSERT(sfc_repr_lock_is_locked(sr));
| ^~~~~~~~~~~~~~~~~~~~~~~
Fixes: c85675423f01 ("net/sfc: implement port representor start and stop")
Reported-by: Raslan Darawsheh <rasland@nvidia.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
Cc: igor.romanov@oktetlabs.ru
The patch that cause the build error is still in next-net, if the patch
is good it can be squashed into the relevant patch in next-net.
---
drivers/net/sfc/sfc_repr.c | 8 ++++++++
1 file changed, 8 insertions(+)
Comments
On 10/13/21 6:20 PM, Ferruh Yigit wrote:
> When 'RTE_ENABLE_ASSERT' is enabled (meson -Dc_args=-DRTE_ENABLE_ASSERT)
> build fails:
> ../drivers/net/sfc/sfc_repr.c: In function ‘sfc_repr_start’:
> ../drivers/net/sfc/sfc_repr.c:251:20:
> warning: implicit declaration of function ‘sfc_repr_lock_is_locked’;
> did you mean ‘rte_spinlock_is_locked’?
> [-Wimplicit-function-declaration]
> 251 | SFC_ASSERT(sfc_repr_lock_is_locked(sr));
> | ^~~~~~~~~~~~~~~~~~~~~~~
>
> Fixes: c85675423f01 ("net/sfc: implement port representor start and stop")
>
> Reported-by: Raslan Darawsheh <rasland@nvidia.com>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
I'm sorry for the breakage. I've sent v2 which avoid usage of
conditional compilation in function body. I'd prefer to fix
the problem this way. Yes, it is a bit less straight-forward,
but still preferable.
Andrew.
On 10/13/2021 5:35 PM, Andrew Rybchenko wrote:
> On 10/13/21 6:20 PM, Ferruh Yigit wrote:
>> When 'RTE_ENABLE_ASSERT' is enabled (meson -Dc_args=-DRTE_ENABLE_ASSERT)
>> build fails:
>> ../drivers/net/sfc/sfc_repr.c: In function ‘sfc_repr_start’:
>> ../drivers/net/sfc/sfc_repr.c:251:20:
>> warning: implicit declaration of function ‘sfc_repr_lock_is_locked’;
>> did you mean ‘rte_spinlock_is_locked’?
>> [-Wimplicit-function-declaration]
>> 251 | SFC_ASSERT(sfc_repr_lock_is_locked(sr));
>> | ^~~~~~~~~~~~~~~~~~~~~~~
>>
>> Fixes: c85675423f01 ("net/sfc: implement port representor start and stop")
>>
>> Reported-by: Raslan Darawsheh <rasland@nvidia.com>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
>
> I'm sorry for the breakage. I've sent v2 which avoid usage of
> conditional compilation in function body. I'd prefer to fix
> the problem this way. Yes, it is a bit less straight-forward,
> but still preferable.
>
ack, agreed that v2 looks better, I will test and squash it.
@@ -248,7 +248,9 @@ sfc_repr_start(struct rte_eth_dev *dev)
sfcr_info(sr, "entry");
+#ifdef RTE_LIBRTE_SFC_EFX_DEBUG
SFC_ASSERT(sfc_repr_lock_is_locked(sr));
+#endif
switch (sr->state) {
case SFC_ETHDEV_CONFIGURED:
@@ -319,7 +321,9 @@ sfc_repr_stop(struct rte_eth_dev *dev)
sfcr_info(sr, "entry");
+#ifdef RTE_LIBRTE_SFC_EFX_DEBUG
SFC_ASSERT(sfc_repr_lock_is_locked(sr));
+#endif
switch (sr->state) {
case SFC_ETHDEV_STARTED:
@@ -477,7 +481,9 @@ sfc_repr_configure(struct sfc_repr *sr, uint16_t nb_rx_queues,
sfcr_info(sr, "entry");
+#ifdef RTE_LIBRTE_SFC_EFX_DEBUG
SFC_ASSERT(sfc_repr_lock_is_locked(sr));
+#endif
ret = sfc_repr_check_conf(sr, nb_rx_queues, conf);
if (ret != 0)
@@ -786,7 +792,9 @@ sfc_repr_tx_queue_release(struct rte_eth_dev *dev, uint16_t tx_queue_id)
static void
sfc_repr_close(struct sfc_repr *sr)
{
+#ifdef RTE_LIBRTE_SFC_EFX_DEBUG
SFC_ASSERT(sfc_repr_lock_is_locked(sr));
+#endif
SFC_ASSERT(sr->state == SFC_ETHDEV_CONFIGURED);
sr->state = SFC_ETHDEV_CLOSING;