Commit 2d9a058e authored by Jens Axboe's avatar Jens Axboe
Browse files

Merge branch 'nvme-4.21' of git://git.infradead.org/nvme into for-4.21/block

Pull NVMe updates from Christoph:

"Here is the second large chunk of nvme updates for 4.21:

 - host and target support for NVMe over TCP (Sagi Grimberg,
	Roy Shterman, Solganik Alexander)
 - error log page support in target (Chaitanya Kulkarni)

plus small fixes and improvements from Jens Axboe and Chengguang Xu."

* 'nvme-4.21' of git://git.infradead.org/nvme: (33 commits)
  nvme-rdma: support separate queue maps for read and write
  nvme-tcp: support separate queue maps for read and write
  nvme-fabrics: allow user to set nr_write_queues for separate queue maps
  nvme-fabrics: add missing nvmf_ctrl_options documentation
  blk-mq-rdma: pass in queue map to blk_mq_rdma_map_queues
  nvmet: update smart log with num err log entries
  nvmet: add error log page cmd handler
  nvmet: add error log support for file backend
  nvmet: add error log support for bdev backend
  nvmet: add error log support for admin-cmd
  nvmet: add error log support for rdma backend
  nvmet: add error log support for fabrics-cmd
  nvmet: add error log support in the core
  nvmet: add interface to update error-log page
  nvmet: add error-log definitions
  nvme: add error log page slot definition
  nvme: remove nvme_common command cdw10 array
  nvmet: remove unused variable
  nvme: provide fallback for discard alloc failure
  nvme: add __exit annotation
  ...
parents e78bd0d2 b65bb777
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -29,24 +29,24 @@
 * @set->nr_hw_queues, or @dev does not provide an affinity mask for a
 * @set->nr_hw_queues, or @dev does not provide an affinity mask for a
 * vector, we fallback to the naive mapping.
 * vector, we fallback to the naive mapping.
 */
 */
int blk_mq_rdma_map_queues(struct blk_mq_tag_set *set,
int blk_mq_rdma_map_queues(struct blk_mq_queue_map *map,
		struct ib_device *dev, int first_vec)
		struct ib_device *dev, int first_vec)
{
{
	const struct cpumask *mask;
	const struct cpumask *mask;
	unsigned int queue, cpu;
	unsigned int queue, cpu;


	for (queue = 0; queue < set->nr_hw_queues; queue++) {
	for (queue = 0; queue < map->nr_queues; queue++) {
		mask = ib_get_vector_affinity(dev, first_vec + queue);
		mask = ib_get_vector_affinity(dev, first_vec + queue);
		if (!mask)
		if (!mask)
			goto fallback;
			goto fallback;


		for_each_cpu(cpu, mask)
		for_each_cpu(cpu, mask)
			set->map[0].mq_map[cpu] = queue;
			map->mq_map[cpu] = map->queue_offset + queue;
	}
	}


	return 0;
	return 0;


fallback:
fallback:
	return blk_mq_map_queues(&set->map[0]);
	return blk_mq_map_queues(map);
}
}
EXPORT_SYMBOL_GPL(blk_mq_rdma_map_queues);
EXPORT_SYMBOL_GPL(blk_mq_rdma_map_queues);
+1 −1
Original line number Original line Diff line number Diff line
@@ -1322,7 +1322,7 @@ static int ath6kl_cfg80211_set_default_key(struct wiphy *wiphy,
	struct ath6kl_vif *vif = netdev_priv(ndev);
	struct ath6kl_vif *vif = netdev_priv(ndev);
	struct ath6kl_key *key = NULL;
	struct ath6kl_key *key = NULL;
	u8 key_usage;
	u8 key_usage;
	enum crypto_type key_type = NONE_CRYPT;
	enum ath6kl_crypto_type key_type = NONE_CRYPT;


	ath6kl_dbg(ATH6KL_DBG_WLAN_CFG, "%s: index %d\n", __func__, key_index);
	ath6kl_dbg(ATH6KL_DBG_WLAN_CFG, "%s: index %d\n", __func__, key_index);


+1 −1
Original line number Original line Diff line number Diff line
@@ -67,7 +67,7 @@ struct ath6kl_llc_snap_hdr {
	__be16 eth_type;
	__be16 eth_type;
} __packed;
} __packed;


enum crypto_type {
enum ath6kl_crypto_type {
	NONE_CRYPT          = 0x01,
	NONE_CRYPT          = 0x01,
	WEP_CRYPT           = 0x02,
	WEP_CRYPT           = 0x02,
	TKIP_CRYPT          = 0x04,
	TKIP_CRYPT          = 0x04,
+3 −3
Original line number Original line Diff line number Diff line
@@ -1849,9 +1849,9 @@ int ath6kl_wmi_connect_cmd(struct wmi *wmi, u8 if_idx,
			   enum network_type nw_type,
			   enum network_type nw_type,
			   enum dot11_auth_mode dot11_auth_mode,
			   enum dot11_auth_mode dot11_auth_mode,
			   enum auth_mode auth_mode,
			   enum auth_mode auth_mode,
			   enum crypto_type pairwise_crypto,
			   enum ath6kl_crypto_type pairwise_crypto,
			   u8 pairwise_crypto_len,
			   u8 pairwise_crypto_len,
			   enum crypto_type group_crypto,
			   enum ath6kl_crypto_type group_crypto,
			   u8 group_crypto_len, int ssid_len, u8 *ssid,
			   u8 group_crypto_len, int ssid_len, u8 *ssid,
			   u8 *bssid, u16 channel, u32 ctrl_flags,
			   u8 *bssid, u16 channel, u32 ctrl_flags,
			   u8 nw_subtype)
			   u8 nw_subtype)
@@ -2301,7 +2301,7 @@ int ath6kl_wmi_disctimeout_cmd(struct wmi *wmi, u8 if_idx, u8 timeout)
}
}


int ath6kl_wmi_addkey_cmd(struct wmi *wmi, u8 if_idx, u8 key_index,
int ath6kl_wmi_addkey_cmd(struct wmi *wmi, u8 if_idx, u8 key_index,
			  enum crypto_type key_type,
			  enum ath6kl_crypto_type key_type,
			  u8 key_usage, u8 key_len,
			  u8 key_usage, u8 key_len,
			  u8 *key_rsc, unsigned int key_rsc_len,
			  u8 *key_rsc, unsigned int key_rsc_len,
			  u8 *key_material,
			  u8 *key_material,
+3 −3
Original line number Original line Diff line number Diff line
@@ -2556,9 +2556,9 @@ int ath6kl_wmi_connect_cmd(struct wmi *wmi, u8 if_idx,
			   enum network_type nw_type,
			   enum network_type nw_type,
			   enum dot11_auth_mode dot11_auth_mode,
			   enum dot11_auth_mode dot11_auth_mode,
			   enum auth_mode auth_mode,
			   enum auth_mode auth_mode,
			   enum crypto_type pairwise_crypto,
			   enum ath6kl_crypto_type pairwise_crypto,
			   u8 pairwise_crypto_len,
			   u8 pairwise_crypto_len,
			   enum crypto_type group_crypto,
			   enum ath6kl_crypto_type group_crypto,
			   u8 group_crypto_len, int ssid_len, u8 *ssid,
			   u8 group_crypto_len, int ssid_len, u8 *ssid,
			   u8 *bssid, u16 channel, u32 ctrl_flags,
			   u8 *bssid, u16 channel, u32 ctrl_flags,
			   u8 nw_subtype);
			   u8 nw_subtype);
@@ -2610,7 +2610,7 @@ int ath6kl_wmi_config_debug_module_cmd(struct wmi *wmi, u32 valid, u32 config);


int ath6kl_wmi_get_stats_cmd(struct wmi *wmi, u8 if_idx);
int ath6kl_wmi_get_stats_cmd(struct wmi *wmi, u8 if_idx);
int ath6kl_wmi_addkey_cmd(struct wmi *wmi, u8 if_idx, u8 key_index,
int ath6kl_wmi_addkey_cmd(struct wmi *wmi, u8 if_idx, u8 key_index,
			  enum crypto_type key_type,
			  enum ath6kl_crypto_type key_type,
			  u8 key_usage, u8 key_len,
			  u8 key_usage, u8 key_len,
			  u8 *key_rsc, unsigned int key_rsc_len,
			  u8 *key_rsc, unsigned int key_rsc_len,
			  u8 *key_material,
			  u8 *key_material,
Loading