diff options
Diffstat (limited to 'net/bridge/br_if.c')
-rw-r--r-- | net/bridge/br_if.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index e6b8bb51d613..11321197338e 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c | |||
@@ -182,6 +182,7 @@ static struct net_device *new_bridge_dev(const char *name) | |||
182 | br->bridge_id.prio[1] = 0x00; | 182 | br->bridge_id.prio[1] = 0x00; |
183 | memset(br->bridge_id.addr, 0, ETH_ALEN); | 183 | memset(br->bridge_id.addr, 0, ETH_ALEN); |
184 | 184 | ||
185 | br->feature_mask = dev->features; | ||
185 | br->stp_enabled = 0; | 186 | br->stp_enabled = 0; |
186 | br->designated_root = br->bridge_id; | 187 | br->designated_root = br->bridge_id; |
187 | br->root_path_cost = 0; | 188 | br->root_path_cost = 0; |
@@ -349,9 +350,8 @@ void br_features_recompute(struct net_bridge *br) | |||
349 | struct net_bridge_port *p; | 350 | struct net_bridge_port *p; |
350 | unsigned long features, checksum; | 351 | unsigned long features, checksum; |
351 | 352 | ||
352 | features = NETIF_F_SG | NETIF_F_FRAGLIST | 353 | features = br->feature_mask &~ NETIF_F_IP_CSUM; |
353 | | NETIF_F_HIGHDMA | NETIF_F_TSO; | 354 | checksum = br->feature_mask & NETIF_F_IP_CSUM; |
354 | checksum = NETIF_F_IP_CSUM; /* least commmon subset */ | ||
355 | 355 | ||
356 | list_for_each_entry(p, &br->port_list, list) { | 356 | list_for_each_entry(p, &br->port_list, list) { |
357 | if (!(p->dev->features | 357 | if (!(p->dev->features |