Home Home > GIT Browse > SLE12-SP3
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Mahoney <jeffm@suse.com>2018-12-14 15:07:43 -0500
committerMichal Koutný <mkoutny@suse.com>2019-01-14 19:22:09 +0100
commitdd0ae8413897286f2c1e15e84fc8959b56b3c7f4 (patch)
treede0a39d4541ce29440784b1ab21d1e866b2a4af3
parent350c4feaabf661945315e0ae38ecb352361ccd3f (diff)
housekeeping: fold fixes into patches.fixes/libfc-Implement-RTV-responder.patch.
There were bugs in the initial patch prior to upstreaming that were discovered and fixed.
-rw-r--r--patches.fixes/libfc-Correctly-set-E_D_TOV-and-R_A_TOV-values-in-RT.patch32
-rw-r--r--patches.fixes/libfc-Implement-RTV-responder.patch35
-rw-r--r--patches.fixes/libfc-fixup-RTV-handling.patch38
-rw-r--r--series.conf2
4 files changed, 24 insertions, 83 deletions
diff --git a/patches.fixes/libfc-Correctly-set-E_D_TOV-and-R_A_TOV-values-in-RT.patch b/patches.fixes/libfc-Correctly-set-E_D_TOV-and-R_A_TOV-values-in-RT.patch
deleted file mode 100644
index 2896b984f7..0000000000
--- a/patches.fixes/libfc-Correctly-set-E_D_TOV-and-R_A_TOV-values-in-RT.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From: Hannes Reinecke <hare@suse.de>
-Date: Fri, 19 Aug 2016 08:41:13 +0200
-Subject: libfc: Correctly set E_D_TOV and R_A_TOV values in RTV response
-References: bsc#990245
-Patch-Mainline: submitted to linux-scsi, 2016/08/18
-
-The values are in big-endian (ie network) order.
-
-Signed-off-by: Hannes Reinecke <hare@suse.com>
----
- drivers/scsi/libfc/fc_rport.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c
-index 5e07772..dfacb95 100644
---- a/drivers/scsi/libfc/fc_rport.c
-+++ b/drivers/scsi/libfc/fc_rport.c
-@@ -1408,8 +1408,9 @@ static void fc_rport_recv_rtv_req(struct fc_rport_priv *rdata,
- }
- rtv = fc_frame_payload_get(fp, sizeof(*rtv));
- rtv->rtv_cmd = ELS_LS_ACC;
-- rtv->rtv_r_a_tov = lport->r_a_tov;
-- rtv->rtv_e_d_tov = lport->e_d_tov;
-+ rtv->rtv_r_a_tov = htonl(lport->r_a_tov);
-+ rtv->rtv_e_d_tov = htonl(lport->e_d_tov);
-+ rtv->rtv_toq = 0;
- fc_fill_reply_hdr(fp, in_fp, FC_RCTL_ELS_REP, 0);
- lport->tt.frame_send(lport, fp);
- drop:
---
-1.8.5.6
-
diff --git a/patches.fixes/libfc-Implement-RTV-responder.patch b/patches.fixes/libfc-Implement-RTV-responder.patch
index a2624bba46..2dfb1b90f7 100644
--- a/patches.fixes/libfc-Implement-RTV-responder.patch
+++ b/patches.fixes/libfc-Implement-RTV-responder.patch
@@ -12,14 +12,21 @@ an RTV responder, too.
Signed-off-by: Hannes Reinecke <hare@suse.com>
Acked-by: Hannes Reinecke <hare@suse.de>
---
- drivers/scsi/libfc/fc_rport.c | 37 +++++++++++++++++++++++++++++++++++++
- 1 file changed, 37 insertions(+)
+ drivers/scsi/libfc/fc_rport.c | 41 ++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 40 insertions(+), 1 deletion(-)
-diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c
-index 6a25771..7fb6685 100644
--- a/drivers/scsi/libfc/fc_rport.c
+++ b/drivers/scsi/libfc/fc_rport.c
-@@ -1330,6 +1330,40 @@ static void fc_rport_enter_rtv(struct fc_rport_priv *rdata)
+@@ -1230,7 +1230,7 @@ static void fc_rport_enter_prli(struct f
+ }
+
+ /**
+- * fc_rport_els_rtv_resp() - Handler for Request Timeout Value (RTV) responses
++ * fc_rport_rtv_resp() - Handler for Request Timeout Value (RTV) responses
+ * @sp: The sequence the RTV was on
+ * @fp: The RTV response frame
+ * @rdata_arg: The remote port that sent the RTV response
+@@ -1330,6 +1330,41 @@ static void fc_rport_enter_rtv(struct fc
}
/**
@@ -48,8 +55,9 @@ index 6a25771..7fb6685 100644
+ }
+ rtv = fc_frame_payload_get(fp, sizeof(*rtv));
+ rtv->rtv_cmd = ELS_LS_ACC;
-+ rtv->rtv_r_a_tov = lport->r_a_tov;
-+ rtv->rtv_e_d_tov = lport->e_d_tov;
++ rtv->rtv_r_a_tov = htonl(lport->r_a_tov);
++ rtv->rtv_e_d_tov = htonl(lport->e_d_tov);
++ rtv->rtv_toq = 0;
+ fc_fill_reply_hdr(fp, in_fp, FC_RCTL_ELS_REP, 0);
+ lport->tt.frame_send(lport, fp);
+drop:
@@ -60,7 +68,7 @@ index 6a25771..7fb6685 100644
* fc_rport_logo_resp() - Handler for logout (LOGO) responses
* @sp: The sequence the LOGO was on
* @fp: The LOGO response frame
-@@ -1627,6 +1661,9 @@ static void fc_rport_recv_els_req(struct fc_lport *lport, struct fc_frame *fp)
+@@ -1634,6 +1669,9 @@ static void fc_rport_recv_els_req(struct
case ELS_RLS:
fc_rport_recv_rls_req(rdata, fp);
break;
@@ -70,6 +78,11 @@ index 6a25771..7fb6685 100644
default:
fc_frame_free(fp); /* can't happen */
break;
---
-1.8.5.6
-
+@@ -1685,6 +1723,7 @@ static void fc_rport_recv_req(struct fc_
+ case ELS_RRQ:
+ case ELS_REC:
+ case ELS_RLS:
++ case ELS_RTV:
+ fc_rport_recv_els_req(lport, fp);
+ break;
+ default:
diff --git a/patches.fixes/libfc-fixup-RTV-handling.patch b/patches.fixes/libfc-fixup-RTV-handling.patch
deleted file mode 100644
index 292a97a947..0000000000
--- a/patches.fixes/libfc-fixup-RTV-handling.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Hannes Reinecke <hare@suse.de>
-Date: Thu, 18 Aug 2016 13:09:25 +0200
-Subject: libfc: fixup RTV handling
-References: bsc#990245
-Patch-Mainline: submitted to linux-scsi, 2016/08/18
-
-A missing case label was causing the RTV handler never to be called,
-and always resulting in an RTV reject.
-
-Signed-off-by: Hannes Reinecke <hare@suse.com>
----
- drivers/scsi/libfc/fc_rport.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c
-index d1fe905..c661c37 100644
---- a/drivers/scsi/libfc/fc_rport.c
-+++ b/drivers/scsi/libfc/fc_rport.c
-@@ -1282,7 +1282,7 @@ static void fc_rport_enter_prli(struct fc_rport_priv *rdata)
- }
-
- /**
-- * fc_rport_els_rtv_resp() - Handler for Request Timeout Value (RTV) responses
-+ * fc_rport_rtv_resp() - Handler for Request Timeout Value (RTV) responses
- * @sp: The sequence the RTV was on
- * @fp: The RTV response frame
- * @rdata_arg: The remote port that sent the RTV response
-@@ -1791,6 +1791,7 @@ static void fc_rport_recv_req(struct fc_lport *lport, struct fc_frame *fp)
- case ELS_RRQ:
- case ELS_REC:
- case ELS_RLS:
-+ case ELS_RTV:
- fc_rport_recv_els_req(lport, fp);
- break;
- default:
---
-1.8.5.6
-
diff --git a/series.conf b/series.conf
index f2950390c6..90b04f0c55 100644
--- a/series.conf
+++ b/series.conf
@@ -3393,14 +3393,12 @@
patches.fixes/libfc-Do-not-drop-down-to-FLOGI-for-fc_rport_login.patch
patches.fixes/fc_rport-PRLI-fixes.patch
patches.fixes/fc_rport-Return-LS_RJT_BUSY-for-PRLI-in-status-PLOGI.patch
- patches.fixes/libfc-fixup-RTV-handling.patch
patches.fixes/fcoe-correct-sending-FIP-VLAN-packets-on-VLAN-0.patch
patches.fixes/libfc-sanitize-E_D_TOV-setting.patch
patches.fixes/libfc-fc_fcp-wait-for-E_D_TOV-when-out-of-order-sequ.patch
patches.fixes/libfc-quarantine-timed-out-xids.patch
patches.fixes/libfc-safeguard-against-invalid-exchange-index.patch
patches.fixes/libfc-Clarify-ramp-down-messages.patch
- patches.fixes/libfc-Correctly-set-E_D_TOV-and-R_A_TOV-values-in-RT.patch
patches.fixes/libfc-Do-not-take-rdata-rp_mutex-when-processing-a-F.patch
patches.drivers/scsi_transport_fc-return-EBUSY-for-deleted-vport.patch
patches.fixes/scsi-Add-STARGET_CREATE_REMOVE-state-to-scsi_target.patch