8000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · bsd-unix/linux@bc86765 · GitHub
[go: up one dir, main page]

Skip to content

Commit bc86765

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller: 1) All users of AF_PACKET's fanout feature want a symmetric packet header hash for load balancing purposes, so give it to them. 2) Fix vlan state synchronization in e1000e, from Jarod Wilson. 3) Use correct socket pointer in ip_skb_dst_mtu(), from Shmulik Ladkani. 4) mlx5 bug fixes from Mohamad Haj Yahia, Daniel Jurgens, Matthew Finlay, Rana Shahout, and Shaker Daibes. Mostly to do with operation timeouts and PCI error handling. 5) Fix checksum handling in mirred packet action, from WANG Cong. 6) Set skb->dev correctly when transmitting in !protect_frames case of macsec driver, from Daniel Borkmann. 7) Fix MTU calculation in geneve driver, from Haishuang Yan. 8) Missing netif_napi_del() in unregister path of qeth driver, from Ursula Braun. 9) Handle malformed route netlink messages in decnet properly, from Vergard Nossum. 10) Memory leak of percpu data in ipv6 routing code, from Martin KaFai Lau. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (41 commits) ipv6: Fix mem leak in rt6i_pcpu net: fix decnet rtnexthop parsing cxgb4: update latest firmware version supported net/mlx5: Avoid setting unused var when modifying vport node GUID bonding: fix enslavement slave link notifications r8152: fix runtime function for RTL8152 qeth: delete napi struct when removing a qeth device Revert "fsl/fman: fix error handling" fsl/fman: fix error handling cdc_ncm: workaround for EM7455 "silent" data interface RDS: fix rds_tcp_init() error path geneve: fix max_mtu setting net: phy: dp83867: Fix initialization of PHYCR register enc28j60: Fix race condition in enc28j60 driver net: stmmac: Fix null-function call in ISR on stmmac1000 tipc: fix nl compat regression for link statistics net: bcmsysport: Device stats are unsigned long macsec: set actual real device for xmit when !protect_frames net_sched: fix mirrored packets checksum packet: Use symmetric hash for PACKET_FANOUT_HASH. ...
2 parents 4cdbbbd + 903ce4a commit bc86765

File tree

43 files changed

+527
-212
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+527
-212
lines changed

drivers/net/bonding/bond_3ad.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,14 @@ enum ad_link_speed_type {
101101
#define MAC_ADDRESS_EQUAL(A, B) \
102102
ether_addr_equal_64bits((const u8 *)A, (const u8 *)B)
103103

104-
static struct mac_addr null_mac_addr = { { 0, 0, 0, 0, 0, 0 } };
104+
static const u8 null_mac_addr[ETH_ALEN + 2] __long_aligned = {
105+
0, 0, 0, 0, 0, 0
106+
};
105107
static u16 ad_ticks_per_sec;
106108
static const int ad_delta_in_ticks = (AD_TIMER_INTERVAL * HZ) / 1000;
107109

108-
static const u8 lacpdu_mcast_addr[ETH_ALEN] = MULTICAST_LACPDU_ADDR;
110+
static const u8 lacpdu_mcast_addr[ETH_ALEN + 2] __long_aligned =
111+
MULTICAST_LACPDU_ADDR;
109112

110113
/* ================= main 802.3ad protocol functions ================== */
111114
static int ad_lacpdu_send(struct port *port);
@@ -1739,7 +1742,7 @@ static void ad_clear_agg(struct aggregator *aggregator)
17391742
aggregator->is_individual = false;
17401743
aggregator->actor_admin_aggregator_key = 0;
17411744
aggregator->actor_oper_aggregator_key = 0;
1742-
aggregator->partner_system = null_mac_addr;
1745+
eth_zero_addr(aggregator->partner_system.mac_addr_value);
17431746
aggregator->partner_system_priority = 0;
17441747
aggregator->partner_oper_aggregator_key = 0;
17451748
aggregator->receive_state = 0;
@@ -1761,7 +1764,7 @@ static void ad_initialize_agg(struct aggregator *aggregator)
17611764
if (aggregator) {
17621765
ad_clear_agg(aggregator);
17631766

1764-
aggregator->aggregator_mac_address = null_mac_addr;
1767+
eth_zero_addr(aggregator->aggregator_mac_address.mac_addr_value);
17651768
aggregator->aggregator_identifier = 0;
17661769
aggregator->slave = NULL;
17671770
}

drivers/net/bonding/bond_alb.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,10 @@
4242

4343

4444

45-
#ifndef __long_aligned
46-
#define __long_aligned __attribute__((aligned((sizeof(long)))))
47-
#endif
48-
static const u8 mac_bcast[ETH_ALEN] __long_aligned = {
45+
static const u8 mac_bcast[ETH_ALEN + 2] __long_aligned = {
4946
0xff, 0xff, 0xff, 0xff, 0xff, 0xff
5047
};
51-
static const u8 mac_v6_allmcast[ETH_ALEN] __long_aligned = {
48+
static const u8 mac_v6_allmcast[ETH_ALEN + 2] __long_aligned = {
5249
0x33, 0x33, 0x00, 0x00, 0x00, 0x01
5350
};
5451
static const int alb_delta_in_ticks = HZ / ALB_TIMER_TICKS_PER_SEC;

drivers/net/bonding/bond_main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1584,6 +1584,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
15841584
}
15851585

15861586
/* check for initial state */
1587+
new_slave->link = BOND_LINK_NOCHANGE;
15871588
if (bond->params.miimon) {
15881589
if (bond_check_dev_link(bond, slave_dev, 0) == BMSR_LSTATUS) {
15891590
if (bond->params.updelay) {

drivers/net/ethernet/broadcom/bcmsysport.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ static void bcm_sysport_get_stats(struct net_device *dev,
392392
else
393393
p = (char *)priv;
394394
p += s->stat_offset;
395-
data[i] = *(u32 *)p;
395+
data[i] = *(unsigned long *)p;
396396
}
397397
}
398398

drivers/net/ethernet/chelsio/cxgb4/t4fw_version.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,26 +36,26 @@
3636
#define __T4FW_VERSION_H__
3737

3838
#define T4FW_VERSION_MAJOR 0x01
39-
#define T4FW_VERSION_MINOR 0x0E
40-
#define T4FW_VERSION_MICRO 0x04
39+
#define T4FW_VERSION_MINOR 0x0F
40+
#define T4FW_VERSION_MICRO 0x25
4141
#define T4FW_VERSION_BUILD 0x00
4242

4343
#define T4FW_MIN_VERSION_MAJOR 0x01
4444
#define T4FW_MIN_VERSION_MINOR 0x04
4545
#define T4FW_MIN_VERSION_MICRO 0x00
4646

4747
#define T5FW_VERSION_MAJOR 0x01
48-
#define T5FW_VERSION_MINOR 0x0E
49-
#define T5FW_VERSION_MICRO 0x04
48+
#define T5FW_VERSION_MINOR 0x0F
49+
#define T5FW_VERSION_MICRO 0x25
5050
#define T5FW_VERSION_BUILD 0x00
5151

5252
#define T5FW_MIN_VERSION_MAJOR 0x00
5353
#define T5FW_MIN_VERSION_MINOR 0x00
5454
#define T5FW_MIN_VERSION_MICRO 0x00
5555

5656
#define T6FW_VERSION_MAJOR 0x01
57-
#define T6FW_VERSION_MINOR 0x0E
58-
#define T6FW_VERSION_MICRO 0x04
57+
#define T6FW_VERSION_MINOR 0x0F
58+
#define T6FW_VERSION_MICRO 0x25
5959
#define T6FW_VERSION_BUILD 0x00
6060

6161
#define T6FW_MIN_VERSION_MAJOR 0x00

drivers/net/ethernet/intel/e1000e/netdev.c

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -154,16 +154,6 @@ void __ew32(struct e1000_hw *hw, unsigned long reg, u32 val)
154154
writel(val, hw->hw_addr + reg);
155155
}
156156

157-
static bool e1000e_vlan_used(struct e1000_adapter *adapter)
158-
{
159-
u16 vid;
160-
161-
for_each_set_bit(vid, adapter->active_vlans, VLAN_N_VID)
162-
return true;
163-
164-
return false;
165-
}
166-
167157
/**
168158
* e1000_regdump - register printout routine
169159
* @hw: pointer to the HW structure
@@ -3453,8 +3443,7 @@ static void e1000e_set_rx_mode(struct net_device *netdev)
34533443

34543444
ew32(RCTL, rctl);
34553445

3456-
if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX ||
3457-
e1000e_vlan_used(adapter))
3446+
if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX)
34583447
e1000e_vlan_strip_enable(adapter);
34593448
else
34603449
e1000e_vlan_strip_disable(adapter);
@@ -6926,6 +6915,14 @@ static netdev_features_t e1000_fix_features(struct net_device *netdev,
69266915
if ((hw->mac.type >= e1000_pch2lan) && (netdev->mtu > ETH_DATA_LEN))
69276916
features &= ~NETIF_F_RXFCS;
69286917

6918+
/* Since there is no support for separate Rx/Tx vlan accel
6919+
* enable/disable make sure Tx flag is always in same state as Rx.
6920+
*/
6921+
if (features & NETIF_F_HW_VLAN_CTAG_RX)
6922+
features |= NETIF_F_HW_VLAN_CTAG_TX;
6923+
else
6924+
features &= ~NETIF_F_HW_VLAN_CTAG_TX;
6925+
69296926
return features;
69306927
}
69316928

drivers/net/ethernet/intel/ixgbevf/mbx.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ static s32 ixgbevf_poll_for_ack(struct ixgbe_hw *hw)
8585
static s32 ixgbevf_read_posted_mbx(struct ixgbe_hw *hw, u32 *msg, u16 size)
8686
{
8787
struct ixgbe_mbx_info *mbx = &hw->mbx;
88-
s32 ret_val = -IXGBE_ERR_MBX;
88+
s32 ret_val = IXGBE_ERR_MBX;
8989

9090
if (!mbx->ops.read)
9191
goto out;
@@ -111,7 +111,7 @@ static s32 ixgbevf_read_posted_mbx(struct ixgbe_hw *hw, u32 *msg, u16 size)
111111
static s32 ixgbevf_write_posted_mbx(struct ixgbe_hw *hw, u32 *msg, u16 size)
112112
{
113113
struct ixgbe_mbx_info *mbx = &hw->mbx;
114-
s32 ret_val = -IXGBE_ERR_MBX;
114+
s32 ret_val = IXGBE_ERR_MBX;
115115

116116
/* exit if either we can't write or there isn't a defined timeout */
117117
if (!mbx->ops.write || !mbx->timeout)

drivers/net/ethernet/marvell/mvneta.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3458,6 +3458,8 @@ static int mvneta_open(struct net_device *dev)
34583458
return 0;
34593459

34603460
err_free_irq:
3461+
unregister_cpu_notifier(&pp->cpu_notifier);
3462+
on_each_cpu(mvneta_percpu_disable, pp, true);
34613463
free_percpu_irq(pp->dev->irq, pp->ports);
34623464
err_cleanup_txqs:
34633465
mvneta_cleanup_txqs(pp);

0 commit comments

Comments
 (0)
0