diff options
Diffstat (limited to 'net/bridge/br_if.c')
| -rw-r--r-- | net/bridge/br_if.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index f55ef682ef84..b1211d5342f6 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c | |||
| @@ -386,12 +386,17 @@ void br_features_recompute(struct net_bridge *br) | |||
| 386 | checksum = 0; | 386 | checksum = 0; |
| 387 | 387 | ||
| 388 | if (feature & NETIF_F_GSO) | 388 | if (feature & NETIF_F_GSO) |
| 389 | feature |= NETIF_F_TSO; | 389 | feature |= NETIF_F_GSO_SOFTWARE; |
| 390 | feature |= NETIF_F_GSO; | 390 | feature |= NETIF_F_GSO; |
| 391 | 391 | ||
| 392 | features &= feature; | 392 | features &= feature; |
| 393 | } | 393 | } |
| 394 | 394 | ||
| 395 | if (!(checksum & NETIF_F_ALL_CSUM)) | ||
| 396 | features &= ~NETIF_F_SG; | ||
| 397 | if (!(features & NETIF_F_SG)) | ||
| 398 | features &= ~NETIF_F_GSO_MASK; | ||
| 399 | |||
| 395 | br->dev->features = features | checksum | NETIF_F_LLTX | | 400 | br->dev->features = features | checksum | NETIF_F_LLTX | |
| 396 | NETIF_F_GSO_ROBUST; | 401 | NETIF_F_GSO_ROBUST; |
| 397 | } | 402 | } |
