Home Home > GIT Browse > SLE12-SP5-AZURE
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Wagner <dwagner@suse.de>2019-08-19 19:10:57 +0200
committerMichal Suchanek <msuchanek@suse.de>2019-08-21 18:53:28 +0200
commit11ef888c8787c25a75a96ca94da6b1d20bb6cb6a (patch)
tree3adb16421b4de64f1c83cbbfc541b0eaea6de4f0
parent86e349c400c85d7e904e71c744535894971846ff (diff)
qla2xxx: kABI fixes for v10.01.00.18-k (bcs#1082635 bcs#1141340
bcs#1143706). suse-commit: 26b564915801d7725468eb8acf2e4fb1c3bee0e6
-rw-r--r--drivers/nvme/host/fc.c2
-rw-r--r--drivers/scsi/qla2xxx/qla_def.h22
-rw-r--r--drivers/scsi/qla2xxx/qla_nvme.h5
-rw-r--r--drivers/scsi/qla2xxx/qla_target.h23
4 files changed, 41 insertions, 11 deletions
diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
index 28dede684ad8..8ff034850cae 100644
--- a/drivers/nvme/host/fc.c
+++ b/drivers/nvme/host/fc.c
@@ -26,7 +26,9 @@
#include "fabrics.h"
#include <linux/nvme-fc-driver.h>
#include <linux/nvme-fc.h>
+#ifndef __GENKSYMS__
#include <scsi/scsi_transport_fc.h>
+#endif
/* *************************** Data Structures/Defines ****************** */
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index 1b3cbe686a19..d48aa2bf63a2 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -531,12 +531,9 @@ typedef struct srb {
uint8_t cmd_type;
uint8_t pad[3];
atomic_t ref_count;
- struct kref cmd_kref; /* need to migrate ref_count over to this */
- void *priv;
wait_queue_head_t nvme_ls_waitq;
struct fc_port *fcport;
struct scsi_qla_host *vha;
- unsigned int start_timer:1;
uint32_t handle;
uint16_t flags;
uint16_t type;
@@ -548,7 +545,11 @@ typedef struct srb {
u32 gen2; /* scratch */
int rc;
int retry_count;
+#ifdef __GENKSYMS__
+ struct completion comp;
+#else
struct completion *comp;
+#endif
union {
struct srb_iocb iocb_cmd;
struct bsg_job *bsg_job;
@@ -556,7 +557,12 @@ typedef struct srb {
} u;
void (*done)(void *, int);
void (*free)(void *);
+#ifndef __GENKSYMS__
+ struct kref cmd_kref; /* need to migrate ref_count over to this */
+ void *priv;
+ unsigned int start_timer:1;
void (*put_fn)(struct kref *kref);
+#endif
} srb_t;
#define GET_CMD_SP(sp) (sp->u.scmd.cmd)
@@ -2267,10 +2273,14 @@ typedef enum {
FCT_BROADCAST,
FCT_INITIATOR,
FCT_TARGET,
+#ifdef __GENKSYMS__
+ FCT_NVME
+#else
FCT_NVME_INITIATOR = 0x10,
FCT_NVME_TARGET = 0x20,
FCT_NVME_DISCOVERY = 0x40,
FCT_NVME = 0xf0,
+#endif
} fc_port_type_t;
enum qla_sess_deletion {
@@ -2372,6 +2382,9 @@ typedef struct fc_port {
unsigned int id_changed:1;
unsigned int scan_needed:1;
+#ifdef __GENKSYMS__
+ struct work_struct nvme_del_work;
+#endif
struct completion nvme_del_done;
uint32_t nvme_prli_service_param;
#define NVME_PRLI_SP_CONF BIT_7
@@ -4411,6 +4424,9 @@ typedef struct scsi_qla_host {
struct nvme_fc_local_port *nvme_local_port;
struct completion nvme_del_done;
+#ifdef __GENKSYMS__
+ struct list_head nvme_rport_list;
+#endif
uint16_t fcoe_vlan_id;
uint16_t fcoe_fcf_idx;
diff --git a/drivers/scsi/qla2xxx/qla_nvme.h b/drivers/scsi/qla2xxx/qla_nvme.h
index 31ffa1e003f1..648ee1973645 100644
--- a/drivers/scsi/qla2xxx/qla_nvme.h
+++ b/drivers/scsi/qla2xxx/qla_nvme.h
@@ -33,10 +33,15 @@ struct nvme_private {
struct work_struct ls_work;
struct work_struct abort_work;
int comp_status;
+#ifndef __GENKSYMS__
spinlock_t cmd_lock;
+#endif
};
struct qla_nvme_rport {
+#ifdef __GENKSYMS__
+ struct list_head list;
+#endif
struct fc_port *fcport;
};
diff --git a/drivers/scsi/qla2xxx/qla_target.h b/drivers/scsi/qla2xxx/qla_target.h
index 93e49240eed5..d82454c10a74 100644
--- a/drivers/scsi/qla2xxx/qla_target.h
+++ b/drivers/scsi/qla2xxx/qla_target.h
@@ -889,14 +889,12 @@ struct qla_tgt_cmd {
unsigned int term_exchg:1;
unsigned int cmd_sent_to_fw:1;
unsigned int cmd_in_wq:1;
-
- /*
- * This variable may be set from outside the LIO and I/O completion
- * callback functions. Do not declare this member variable as a
- * bitfield to avoid a read-modify-write operation when this variable
- * is set.
- */
- unsigned int aborted;
+#ifdef __GENKSYMS__
+ unsigned int aborted:1;
+ unsigned int data_work:1;
+ unsigned int data_work_free:1;
+ unsigned int released:1;
+#endif
struct scatterlist *sg; /* cmd data buffer SG vector */
int sg_cnt; /* SG segments count */
@@ -939,6 +937,15 @@ struct qla_tgt_cmd {
uint64_t jiffies_at_free;
enum trace_flags trc_flags;
+#ifndef __GENKSYMS__
+ /*
+ * This variable may be set from outside the LIO and I/O completion
+ * callback functions. Do not declare this member variable as a
+ * bitfield to avoid a read-modify-write operation when this variable
+ * is set.
+ */
+ unsigned int aborted;
+#endif
};
struct qla_tgt_sess_work_param {