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
213213 MLX5_PORT_DOWN = 2,
214214 };
215215
216+enum mlx5_cmdif_state {
217+ MLX5_CMDIF_STATE_UNINITIALIZED,
218+ MLX5_CMDIF_STATE_UP,
219+ MLX5_CMDIF_STATE_DOWN,
220+};
221+
216222 struct mlx5_cmd_first {
217223 __be32 data[4];
218224 };
@@ -258,6 +264,7 @@ struct mlx5_cmd_stats { · 39 unmodified lines
258264 struct mlx5_cmd {
259265 struct mlx5_nb nb;
260266
267+ enum mlx5_cmdif_state state;
261268 void *cmd_alloc_buf;
262269 dma_addr_t alloc_dma;
263270 int alloc_size;
@@ -284,6 +291,7 @@ struct mlx5_cmd { · 20 unmodified lines
284291 struct semaphore sem;
285292 struct semaphore pages_sem;
286293 int mode;
294+ u16 allowed_opcode;
287295 struct mlx5_cmd_work_ent *ent_arr[MLX5_MAX_COMMANDS];
288296 struct dma_pool *pool;
289297 struct mlx5_cmd_debug dbg;
@@ -743,6 +751,7 @@ struct mlx5_cmd_work_ent { · 453 unmodified lines
743751 struct delayed_work cb_timeout_work;
744752 void *context;
745753 int idx;
754+ struct completion handling;
746755 struct completion done;
747756 struct mlx5_cmd *cmd;
748757 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
874883 return min_t(u32, last_frag_stride_idx - fbc->strides_offset, fbc->sz_m1);
875884 }
876885
886+enum {
887+ CMD_ALLOWED_OPCODE_ALL,
888+};
889+
877890 int mlx5_cmd_init(struct mlx5_core_dev *dev);
878891 void mlx5_cmd_cleanup(struct mlx5_core_dev *dev);
892+void mlx5_cmd_set_state(struct mlx5_core_dev *dev,
893+ enum mlx5_cmdif_state cmdif_state);
879894 void mlx5_cmd_use_events(struct mlx5_core_dev *dev);
880895 void mlx5_cmd_use_polling(struct mlx5_core_dev *dev);
896+void mlx5_cmd_allowed_opcode(struct mlx5_core_dev *dev, u16 opcode);
881897
882898 struct mlx5_async_ctx {
883899 struct mlx5_core_dev *dev;