Re: [PATCH net-next, 1/2] hv_netvsc: Allow scatter-gather feature to be tunable

2019-08-30 Thread Jakub Kicinski
On Fri, 30 Aug 2019 03:45:24 +, Haiyang Zhang wrote:
> In a previous patch, the NETIF_F_SG was missing after the code changes.
> That caused the SG feature to be "fixed". This patch includes it into
> hw_features, so it is tunable again.
> 
> Fixes:23312a3be999 ("netvsc: negotiate checksum and segmentation 
> parameters")
 ^
Looks like a tab sneaked in there.

> Signed-off-by: Haiyang Zhang 


[PATCH net-next, 1/2] hv_netvsc: Allow scatter-gather feature to be tunable

2019-08-29 Thread Haiyang Zhang
In a previous patch, the NETIF_F_SG was missing after the code changes.
That caused the SG feature to be "fixed". This patch includes it into
hw_features, so it is tunable again.

Fixes:  23312a3be999 ("netvsc: negotiate checksum and segmentation parameters")
Signed-off-by: Haiyang Zhang 
---
 drivers/net/hyperv/hyperv_net.h   | 2 +-
 drivers/net/hyperv/netvsc_drv.c   | 4 ++--
 drivers/net/hyperv/rndis_filter.c | 1 +
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index ecc9af0..670ef68 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -822,7 +822,7 @@ struct nvsp_message {
 
 #define NETVSC_SUPPORTED_HW_FEATURES (NETIF_F_RXCSUM | NETIF_F_IP_CSUM | \
  NETIF_F_TSO | NETIF_F_IPV6_CSUM | \
- NETIF_F_TSO6 | NETIF_F_LRO)
+ NETIF_F_TSO6 | NETIF_F_LRO | NETIF_F_SG)
 
 #define VRSS_SEND_TAB_SIZE 16  /* must be power of 2 */
 #define VRSS_CHANNEL_MAX 64
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 0a6cd2f..1f1192e 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -2313,8 +2313,8 @@ static int netvsc_probe(struct hv_device *dev,
 
/* hw_features computed in rndis_netdev_set_hwcaps() */
net->features = net->hw_features |
-   NETIF_F_HIGHDMA | NETIF_F_SG |
-   NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
+   NETIF_F_HIGHDMA | NETIF_F_HW_VLAN_CTAG_TX |
+   NETIF_F_HW_VLAN_CTAG_RX;
net->vlan_features = net->features;
 
netdev_lockdep_set_classes(net);
diff --git a/drivers/net/hyperv/rndis_filter.c 
b/drivers/net/hyperv/rndis_filter.c
index 317dbe9..abaf815 100644
--- a/drivers/net/hyperv/rndis_filter.c
+++ b/drivers/net/hyperv/rndis_filter.c
@@ -1207,6 +1207,7 @@ static int rndis_netdev_set_hwcaps(struct rndis_device 
*rndis_device,
 
/* Compute tx offload settings based on hw capabilities */
net->hw_features |= NETIF_F_RXCSUM;
+   net->hw_features |= NETIF_F_SG;
 
if ((hwcaps.csum.ip4_txcsum & NDIS_TXCSUM_ALL_TCP4) == 
NDIS_TXCSUM_ALL_TCP4) {
/* Can checksum TCP */
-- 
1.8.3.1