[dpdk-dev] [PATCH 2/3] net/sfc: use locally stored data for logging
Andrew Rybchenko
arybchenko at solarflare.com
Thu May 18 16:01:08 CEST 2017
On 05/18/2017 01:59 PM, Ferruh Yigit wrote:
> On 5/17/2017 1:25 PM, Andrew Rybchenko wrote:
>> Required to be able to use logging in the secondary process
>> where Ethernet device pointer stored in sfc_adapter is invalid.
>>
>> Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
>> Reviewed-by: Andy Moreton <amoreton at solarflare.com>
> <...>
>
>> diff --git a/drivers/net/sfc/sfc_log.h b/drivers/net/sfc/sfc_log.h
>> index d0f8921..6c43925 100644
>> --- a/drivers/net/sfc/sfc_log.h
>> +++ b/drivers/net/sfc/sfc_log.h
>> @@ -35,18 +35,16 @@
>> /* Log PMD message, automatically add prefix and \n */
>> #define SFC_LOG(sa, level, ...) \
>> do { \
>> - const struct rte_eth_dev *_dev = (sa)->eth_dev; \
>> - const struct rte_pci_device *_pci_dev = \
>> - RTE_ETH_DEV_TO_PCI(_dev); \
>> + const struct sfc_adapter *_sa = (sa); \
> Getting following build error with clang and icc [1]. I guess that is
> because "_sa" declared on both sfc_log_init() and in the macro that
> function uses (SFC_LOG).
Thanks, I'll fix it in v2.
> [1]
> .../drivers/net/sfc/sfc_filter.c:121:2:
> error: variable '_sa' is uninitialized when used within its own
> initialization [-Werror,-Wuninitialized]
> sfc_log_init(sa, "failed %d", rc);
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> .../drivers/net/sfc/sfc_log.h:68:12: note: expanded from macro
> 'sfc_log_init'
> SFC_LOG(_sa, INFO, \
> ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> .../drivers/net/sfc/sfc_log.h:38:36: note: expanded from macro 'SFC_LOG'
> const struct sfc_adapter *_sa = (sa); \
> ~~~ ^~
More information about the dev
mailing list