[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 07 Jul 2016 11:56:43 +0200
From: Ben Hutchings <ben@...adent.org.uk>
To: Netanel Belgazal <netanel@...apurnalabs.com>,
netdev@...r.kernel.org, davem@...emloft.net,
linux-kernel@...r.kernel.org
Cc: zorik@...apurnalabs.com, saeed@...apurnalabs.com,
alex@...apurnalabs.com, msw@...zon.com, aliguori@...zon.com,
benjamin.poirier@...il.com, romieu@...zoreil.com,
rami.rosen@...el.com, antoine.tenart@...e-electrons.com
Subject: Re: [PATCH net-next V2] net: ena: Add a driver for Amazon Elastic
Network Adapters (ENA)
On Thu, 2016-07-07 at 08:58 +0300, Netanel Belgazal wrote:
[...]
> +int ena_get_sset_count(struct net_device *netdev, int sset)
> +{
> + if (sset != ETH_SS_STATS)
> + return -EOPNOTSUPP;
> +
> + return netdev->num_tx_queues *
> + (ENA_STATS_ARRAY_TX + ENA_STATS_ARRAY_RX) +
> + ENA_STATS_ARRAY_GLOBAL + ENA_STATS_ARRAY_ENA_COM;
num_tx_queues is the number of software queues originally allocated,
which may be larger than the number in use (real_num_tx_queues).
And when actually generating the strings:
[...]
> +static void ena_queue_strings(struct ena_adapter *adapter, u8 **data)
> +{
> + const struct ena_stats *ena_stats;
> + int i, j;
> +
> + for (i = 0; i < adapter->num_queues; i++) {
you use adapter->num_queues.
[...]
> +static int ena_nway_reset(struct net_device *netdev)
> +{
> + return -ENODEV;
> +}
That doesn't make sense. The device is there but presumably doesn't
support autonegotiation. So don't implement the operation.
[...]
> +static int ena_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
> + u8 *hfunc)
> +{
> + struct ena_adapter *adapter = netdev_priv(netdev);
> + enum ena_admin_hash_functions ena_func;
> + u8 func;
> + int rc;
> +
> + rc = ena_com_indirect_table_get(adapter->ena_dev, indir);
> + if (rc)
> + return rc;
> +
> + rc = ena_com_get_hash_function(adapter->ena_dev, &ena_func, key);
> + if (rc)
> + return rc;
> +
> + switch (ena_func) {
> + case ENA_ADMIN_TOEPLITZ:
> + func = ETH_RSS_HASH_TOP;
> + case ENA_ADMIN_CRC32:
> + func = ETH_RSS_HASH_XOR;
Missing break statements.
> + default:
> + netif_err(adapter, drv, netdev,
> + "Command parameter is not supported\n");
> + return -EOPNOTSUPP;
> + }
[...]
> +static const struct ethtool_ops ena_ethtool_ops = {
> + .get_settings = ena_get_settings,
[...]
get_settings is now deprecated in favour of get_link_ksettings.
Ben.
Ben.
--
Ben Hutchings
For every action, there is an equal and opposite criticism. - Harrison
Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)
Powered by blists - more mailing lists