History

Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

Pull networking fixes from David Miller: 1) Fix RCU warnings in ipv6 multicast router code, from Madhuparna Bhowmik. 2) Nexthop attributes aren't being checked properly because of mis-initialized iterator, from David Ahern. 3) Revert iop_idents_reserve() change as it caused performance regressions and was just working around what is really a UBSAN bug in the compiler. From Yuqi Jin. 4) Read MAC address properly from ROM in bmac driver (double iteration proceeds past end of address array), from Jeremy Kerr. 5) Add Microsoft Surface device IDs to r8152, from Marc Payne. 6) Prevent reference to freed SKB in __netif_receive_skb_core(), from Boris Sukholitko. 7) Fix ACK discard behavior in rxrpc, from David Howells. 8) Preserve flow hash across packet scrubbing in wireguard, from Jason A. Donenfeld. 9) Cap option length properly for SO_BINDTODEVICE in AX25, from Eric Dumazet. 10) Fix encryption error checking in kTLS code, from Vadim Fedorenko. 11) Missing BPF prog ref release in flow dissector, from Jakub Sitnicki. 12) dst_cache must be used with BH disabled in tipc, from Eric Dumazet. 13) Fix use after free in mlxsw driver, from Jiri Pirko. 14) Order kTLS key destruction properly in mlx5 driver, from Tariq Toukan. 15) Check devm_platform_ioremap_resource() return value properly in several drivers, from Tiezhu Yang. * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (71 commits) net: smsc911x: Fix runtime PM imbalance on error net/mlx4_core: fix a memory leak bug. net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend net: phy: mscc: fix initialization of the MACsec protocol mode net: stmmac: don't attach interface until resume finishes net: Fix return value about devm_platform_ioremap_resource() net/mlx5: Fix error flow in case of function_setup failure net/mlx5e: CT: Correctly get flow rule net/mlx5e: Update netdev txq on completions during closure net/mlx5: Annotate mutex destroy for root ns net/mlx5: Don't maintain a case of del_sw_func being null net/mlx5: Fix cleaning unmanaged flow tables net/mlx5: Fix memory leak in mlx5_events_init net/mlx5e: Fix inner tirs handling net/mlx5e: kTLS, Destroy key object after destroying the TIS net/mlx5e: Fix allowed tc redirect merged eswitch offload cases net/mlx5: Avoid processing commands before cmdif is ready net/mlx5: Fix a race when moving command interface to events mode net/mlx5: Add command entry handling completion rxrpc: Fix a memory leak in rxkad_verify_response() ...

Linus Torvalds committed 6 years ago

Commit caffb992 parents 0cfc8a8 539d39a112 files · +940 −454Browse files

Showing the changes to include/linux (1 of 112 files). Show all

Unified · Split

include/linux/mlx5/driver.h+16−0
@@ -213,6 +213,12 @@ enum mlx5_port_status { · 212 unmodified lines
213 MLX5_PORT_DOWN = 2,213 MLX5_PORT_DOWN = 2,
214};214};
215 215
216enum mlx5_cmdif_state {
217 MLX5_CMDIF_STATE_UNINITIALIZED,
218 MLX5_CMDIF_STATE_UP,
219 MLX5_CMDIF_STATE_DOWN,
220};
221
216struct mlx5_cmd_first {222struct mlx5_cmd_first {
217 __be32 data[4];223 __be32 data[4];
218};224};
@@ -258,6 +264,7 @@ struct mlx5_cmd_stats { · 39 unmodified lines
258struct mlx5_cmd {264struct mlx5_cmd {
259 struct mlx5_nb nb;265 struct mlx5_nb nb;
260 266
267 enum mlx5_cmdif_state state;
261 void *cmd_alloc_buf;268 void *cmd_alloc_buf;
262 dma_addr_t alloc_dma;269 dma_addr_t alloc_dma;
263 int alloc_size;270 int alloc_size;
@@ -284,6 +291,7 @@ struct mlx5_cmd { · 20 unmodified lines
284 struct semaphore sem;291 struct semaphore sem;
285 struct semaphore pages_sem;292 struct semaphore pages_sem;
286 int mode;293 int mode;
294 u16 allowed_opcode;
287 struct mlx5_cmd_work_ent *ent_arr[MLX5_MAX_COMMANDS];295 struct mlx5_cmd_work_ent *ent_arr[MLX5_MAX_COMMANDS];
288 struct dma_pool *pool;296 struct dma_pool *pool;
289 struct mlx5_cmd_debug dbg;297 struct mlx5_cmd_debug dbg;
@@ -743,6 +751,7 @@ struct mlx5_cmd_work_ent { · 453 unmodified lines
743 struct delayed_work cb_timeout_work;751 struct delayed_work cb_timeout_work;
744 void *context;752 void *context;
745 int idx;753 int idx;
754 struct completion handling;
746 struct completion done;755 struct completion done;
747 struct mlx5_cmd *cmd;756 struct mlx5_cmd *cmd;
748 struct work_struct work;757 struct work_struct work;
@@ -874,10 +883,17 @@ mlx5_frag_buf_get_idx_last_contig_stride(struct mlx5_frag_buf_ctrl *fbc, u32 ix) · 125 unmodified lines
874 return min_t(u32, last_frag_stride_idx - fbc->strides_offset, fbc->sz_m1);883 return min_t(u32, last_frag_stride_idx - fbc->strides_offset, fbc->sz_m1);
875}884}
876 885
886enum {
887 CMD_ALLOWED_OPCODE_ALL,
888};
889
877int mlx5_cmd_init(struct mlx5_core_dev *dev);890int mlx5_cmd_init(struct mlx5_core_dev *dev);
878void mlx5_cmd_cleanup(struct mlx5_core_dev *dev);891void mlx5_cmd_cleanup(struct mlx5_core_dev *dev);
892void mlx5_cmd_set_state(struct mlx5_core_dev *dev,
893 enum mlx5_cmdif_state cmdif_state);
879void mlx5_cmd_use_events(struct mlx5_core_dev *dev);894void mlx5_cmd_use_events(struct mlx5_core_dev *dev);
880void mlx5_cmd_use_polling(struct mlx5_core_dev *dev);895void mlx5_cmd_use_polling(struct mlx5_core_dev *dev);
896void mlx5_cmd_allowed_opcode(struct mlx5_core_dev *dev, u16 opcode);
881 897
882struct mlx5_async_ctx {898struct mlx5_async_ctx {
883 struct mlx5_core_dev *dev;899 struct mlx5_core_dev *dev;