]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop libsas patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Apr 2024 13:56:47 +0000 (15:56 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Apr 2024 13:57:05 +0000 (15:57 +0200)
queue-5.10/scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch [deleted file]
queue-5.10/series
queue-5.15/scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch [deleted file]
queue-5.15/series
queue-5.4/scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch [deleted file]
queue-5.4/series

diff --git a/queue-5.10/scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch b/queue-5.10/scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch
deleted file mode 100644 (file)
index 84a5c02..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-From 8e68a458bcf5b5cb9c3624598bae28f08251601f Mon Sep 17 00:00:00 2001
-From: Xingui Yang <yangxingui@huawei.com>
-Date: Thu, 7 Mar 2024 14:14:13 +0000
-Subject: scsi: libsas: Fix disk not being scanned in after being removed
-
-From: Xingui Yang <yangxingui@huawei.com>
-
-commit 8e68a458bcf5b5cb9c3624598bae28f08251601f upstream.
-
-As of commit d8649fc1c5e4 ("scsi: libsas: Do discovery on empty PHY to
-update PHY info"), do discovery will send a new SMP_DISCOVER and update
-phy->phy_change_count. We found that if the disk is reconnected and phy
-change_count changes at this time, the disk scanning process will not be
-triggered.
-
-Therefore, call sas_set_ex_phy() to update the PHY info with the results of
-the last query. And because the previous phy info will be used when calling
-sas_unregister_devs_sas_addr(), sas_unregister_devs_sas_addr() should be
-called before sas_set_ex_phy().
-
-Fixes: d8649fc1c5e4 ("scsi: libsas: Do discovery on empty PHY to update PHY info")
-Signed-off-by: Xingui Yang <yangxingui@huawei.com>
-Link: https://lore.kernel.org/r/20240307141413.48049-3-yangxingui@huawei.com
-Reviewed-by: John Garry <john.g.garry@oracle.com>
-Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/scsi/libsas/sas_expander.c |   32 ++++++++++++++++++++++----------
- 1 file changed, 22 insertions(+), 10 deletions(-)
-
---- a/drivers/scsi/libsas/sas_expander.c
-+++ b/drivers/scsi/libsas/sas_expander.c
-@@ -1997,6 +1997,7 @@ static int sas_rediscover_dev(struct dom
-       struct expander_device *ex = &dev->ex_dev;
-       struct ex_phy *phy = &ex->ex_phy[phy_id];
-       enum sas_device_type type = SAS_PHY_UNUSED;
-+      struct smp_disc_resp *disc_resp;
-       u8 sas_addr[SAS_ADDR_SIZE];
-       char msg[80] = "";
-       int res;
-@@ -2008,33 +2009,41 @@ static int sas_rediscover_dev(struct dom
-                SAS_ADDR(dev->sas_addr), phy_id, msg);
-       memset(sas_addr, 0, SAS_ADDR_SIZE);
--      res = sas_get_phy_attached_dev(dev, phy_id, sas_addr, &type);
-+      disc_resp = alloc_smp_resp(DISCOVER_RESP_SIZE);
-+      if (!disc_resp)
-+              return -ENOMEM;
-+
-+      res = sas_get_phy_discover(dev, phy_id, disc_resp);
-       switch (res) {
-       case SMP_RESP_NO_PHY:
-               phy->phy_state = PHY_NOT_PRESENT;
-               sas_unregister_devs_sas_addr(dev, phy_id, last);
--              return res;
-+              goto out_free_resp;
-       case SMP_RESP_PHY_VACANT:
-               phy->phy_state = PHY_VACANT;
-               sas_unregister_devs_sas_addr(dev, phy_id, last);
--              return res;
-+              goto out_free_resp;
-       case SMP_RESP_FUNC_ACC:
-               break;
-       case -ECOMM:
-               break;
-       default:
--              return res;
-+              goto out_free_resp;
-       }
-+      if (res == 0)
-+              sas_get_sas_addr_and_dev_type(disc_resp, sas_addr, &type);
-+
-       if ((SAS_ADDR(sas_addr) == 0) || (res == -ECOMM)) {
-               phy->phy_state = PHY_EMPTY;
-               sas_unregister_devs_sas_addr(dev, phy_id, last);
-               /*
--               * Even though the PHY is empty, for convenience we discover
--               * the PHY to update the PHY info, like negotiated linkrate.
-+               * Even though the PHY is empty, for convenience we update
-+               * the PHY info, like negotiated linkrate.
-                */
--              sas_ex_phy_discover(dev, phy_id);
--              return res;
-+              if (res == 0)
-+                      sas_set_ex_phy(dev, phy_id, disc_resp);
-+              goto out_free_resp;
-       } else if (SAS_ADDR(sas_addr) == SAS_ADDR(phy->attached_sas_addr) &&
-                  dev_type_flutter(type, phy->attached_dev_type)) {
-               struct domain_device *ata_dev = sas_ex_to_ata(dev, phy_id);
-@@ -2046,7 +2055,7 @@ static int sas_rediscover_dev(struct dom
-                       action = ", needs recovery";
-               pr_debug("ex %016llx phy%02d broadcast flutter%s\n",
-                        SAS_ADDR(dev->sas_addr), phy_id, action);
--              return res;
-+              goto out_free_resp;
-       }
-       /* we always have to delete the old device when we went here */
-@@ -2055,7 +2064,10 @@ static int sas_rediscover_dev(struct dom
-               SAS_ADDR(phy->attached_sas_addr));
-       sas_unregister_devs_sas_addr(dev, phy_id, last);
--      return sas_discover_new(dev, phy_id);
-+      res = sas_discover_new(dev, phy_id);
-+out_free_resp:
-+      kfree(disc_resp);
-+      return res;
- }
- /**
index d151f6f7f68b71565a2646818442acf29ce69c5d..7e1e7cd2f91eed807b1814bf094c30343a80a844 100644 (file)
@@ -179,4 +179,3 @@ scsi-qla2xxx-delay-i-o-abort-on-pci-error.patch
 x86-cpu-enable-stibp-on-amd-if-automatic-ibrs-is-enabled.patch
 pci-dpc-quirk-pio-log-size-for-intel-ice-lake-root-ports.patch
 scsi-lpfc-correct-size-for-wqe-for-memset.patch
-scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch
diff --git a/queue-5.15/scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch b/queue-5.15/scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch
deleted file mode 100644 (file)
index 1463cc1..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-From 8e68a458bcf5b5cb9c3624598bae28f08251601f Mon Sep 17 00:00:00 2001
-From: Xingui Yang <yangxingui@huawei.com>
-Date: Thu, 7 Mar 2024 14:14:13 +0000
-Subject: scsi: libsas: Fix disk not being scanned in after being removed
-
-From: Xingui Yang <yangxingui@huawei.com>
-
-commit 8e68a458bcf5b5cb9c3624598bae28f08251601f upstream.
-
-As of commit d8649fc1c5e4 ("scsi: libsas: Do discovery on empty PHY to
-update PHY info"), do discovery will send a new SMP_DISCOVER and update
-phy->phy_change_count. We found that if the disk is reconnected and phy
-change_count changes at this time, the disk scanning process will not be
-triggered.
-
-Therefore, call sas_set_ex_phy() to update the PHY info with the results of
-the last query. And because the previous phy info will be used when calling
-sas_unregister_devs_sas_addr(), sas_unregister_devs_sas_addr() should be
-called before sas_set_ex_phy().
-
-Fixes: d8649fc1c5e4 ("scsi: libsas: Do discovery on empty PHY to update PHY info")
-Signed-off-by: Xingui Yang <yangxingui@huawei.com>
-Link: https://lore.kernel.org/r/20240307141413.48049-3-yangxingui@huawei.com
-Reviewed-by: John Garry <john.g.garry@oracle.com>
-Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/scsi/libsas/sas_expander.c |   32 ++++++++++++++++++++++----------
- 1 file changed, 22 insertions(+), 10 deletions(-)
-
---- a/drivers/scsi/libsas/sas_expander.c
-+++ b/drivers/scsi/libsas/sas_expander.c
-@@ -1998,6 +1998,7 @@ static int sas_rediscover_dev(struct dom
-       struct expander_device *ex = &dev->ex_dev;
-       struct ex_phy *phy = &ex->ex_phy[phy_id];
-       enum sas_device_type type = SAS_PHY_UNUSED;
-+      struct smp_disc_resp *disc_resp;
-       u8 sas_addr[SAS_ADDR_SIZE];
-       char msg[80] = "";
-       int res;
-@@ -2009,33 +2010,41 @@ static int sas_rediscover_dev(struct dom
-                SAS_ADDR(dev->sas_addr), phy_id, msg);
-       memset(sas_addr, 0, SAS_ADDR_SIZE);
--      res = sas_get_phy_attached_dev(dev, phy_id, sas_addr, &type);
-+      disc_resp = alloc_smp_resp(DISCOVER_RESP_SIZE);
-+      if (!disc_resp)
-+              return -ENOMEM;
-+
-+      res = sas_get_phy_discover(dev, phy_id, disc_resp);
-       switch (res) {
-       case SMP_RESP_NO_PHY:
-               phy->phy_state = PHY_NOT_PRESENT;
-               sas_unregister_devs_sas_addr(dev, phy_id, last);
--              return res;
-+              goto out_free_resp;
-       case SMP_RESP_PHY_VACANT:
-               phy->phy_state = PHY_VACANT;
-               sas_unregister_devs_sas_addr(dev, phy_id, last);
--              return res;
-+              goto out_free_resp;
-       case SMP_RESP_FUNC_ACC:
-               break;
-       case -ECOMM:
-               break;
-       default:
--              return res;
-+              goto out_free_resp;
-       }
-+      if (res == 0)
-+              sas_get_sas_addr_and_dev_type(disc_resp, sas_addr, &type);
-+
-       if ((SAS_ADDR(sas_addr) == 0) || (res == -ECOMM)) {
-               phy->phy_state = PHY_EMPTY;
-               sas_unregister_devs_sas_addr(dev, phy_id, last);
-               /*
--               * Even though the PHY is empty, for convenience we discover
--               * the PHY to update the PHY info, like negotiated linkrate.
-+               * Even though the PHY is empty, for convenience we update
-+               * the PHY info, like negotiated linkrate.
-                */
--              sas_ex_phy_discover(dev, phy_id);
--              return res;
-+              if (res == 0)
-+                      sas_set_ex_phy(dev, phy_id, disc_resp);
-+              goto out_free_resp;
-       } else if (SAS_ADDR(sas_addr) == SAS_ADDR(phy->attached_sas_addr) &&
-                  dev_type_flutter(type, phy->attached_dev_type)) {
-               struct domain_device *ata_dev = sas_ex_to_ata(dev, phy_id);
-@@ -2047,7 +2056,7 @@ static int sas_rediscover_dev(struct dom
-                       action = ", needs recovery";
-               pr_debug("ex %016llx phy%02d broadcast flutter%s\n",
-                        SAS_ADDR(dev->sas_addr), phy_id, action);
--              return res;
-+              goto out_free_resp;
-       }
-       /* we always have to delete the old device when we went here */
-@@ -2056,7 +2065,10 @@ static int sas_rediscover_dev(struct dom
-               SAS_ADDR(phy->attached_sas_addr));
-       sas_unregister_devs_sas_addr(dev, phy_id, last);
--      return sas_discover_new(dev, phy_id);
-+      res = sas_discover_new(dev, phy_id);
-+out_free_resp:
-+      kfree(disc_resp);
-+      return res;
- }
- /**
index 624b05bfdad38602c545b1e22e3b6cb5cf879469..fe8805f92ec3c7aec79e03413deae136a566ecd7 100644 (file)
@@ -603,4 +603,3 @@ scsi-qla2xxx-delay-i-o-abort-on-pci-error.patch
 x86-cpu-enable-stibp-on-amd-if-automatic-ibrs-is-enabled.patch
 pci-dpc-quirk-pio-log-size-for-intel-ice-lake-root-ports.patch
 scsi-lpfc-correct-size-for-wqe-for-memset.patch
-scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch
diff --git a/queue-5.4/scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch b/queue-5.4/scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch
deleted file mode 100644 (file)
index 84a5c02..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-From 8e68a458bcf5b5cb9c3624598bae28f08251601f Mon Sep 17 00:00:00 2001
-From: Xingui Yang <yangxingui@huawei.com>
-Date: Thu, 7 Mar 2024 14:14:13 +0000
-Subject: scsi: libsas: Fix disk not being scanned in after being removed
-
-From: Xingui Yang <yangxingui@huawei.com>
-
-commit 8e68a458bcf5b5cb9c3624598bae28f08251601f upstream.
-
-As of commit d8649fc1c5e4 ("scsi: libsas: Do discovery on empty PHY to
-update PHY info"), do discovery will send a new SMP_DISCOVER and update
-phy->phy_change_count. We found that if the disk is reconnected and phy
-change_count changes at this time, the disk scanning process will not be
-triggered.
-
-Therefore, call sas_set_ex_phy() to update the PHY info with the results of
-the last query. And because the previous phy info will be used when calling
-sas_unregister_devs_sas_addr(), sas_unregister_devs_sas_addr() should be
-called before sas_set_ex_phy().
-
-Fixes: d8649fc1c5e4 ("scsi: libsas: Do discovery on empty PHY to update PHY info")
-Signed-off-by: Xingui Yang <yangxingui@huawei.com>
-Link: https://lore.kernel.org/r/20240307141413.48049-3-yangxingui@huawei.com
-Reviewed-by: John Garry <john.g.garry@oracle.com>
-Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/scsi/libsas/sas_expander.c |   32 ++++++++++++++++++++++----------
- 1 file changed, 22 insertions(+), 10 deletions(-)
-
---- a/drivers/scsi/libsas/sas_expander.c
-+++ b/drivers/scsi/libsas/sas_expander.c
-@@ -1997,6 +1997,7 @@ static int sas_rediscover_dev(struct dom
-       struct expander_device *ex = &dev->ex_dev;
-       struct ex_phy *phy = &ex->ex_phy[phy_id];
-       enum sas_device_type type = SAS_PHY_UNUSED;
-+      struct smp_disc_resp *disc_resp;
-       u8 sas_addr[SAS_ADDR_SIZE];
-       char msg[80] = "";
-       int res;
-@@ -2008,33 +2009,41 @@ static int sas_rediscover_dev(struct dom
-                SAS_ADDR(dev->sas_addr), phy_id, msg);
-       memset(sas_addr, 0, SAS_ADDR_SIZE);
--      res = sas_get_phy_attached_dev(dev, phy_id, sas_addr, &type);
-+      disc_resp = alloc_smp_resp(DISCOVER_RESP_SIZE);
-+      if (!disc_resp)
-+              return -ENOMEM;
-+
-+      res = sas_get_phy_discover(dev, phy_id, disc_resp);
-       switch (res) {
-       case SMP_RESP_NO_PHY:
-               phy->phy_state = PHY_NOT_PRESENT;
-               sas_unregister_devs_sas_addr(dev, phy_id, last);
--              return res;
-+              goto out_free_resp;
-       case SMP_RESP_PHY_VACANT:
-               phy->phy_state = PHY_VACANT;
-               sas_unregister_devs_sas_addr(dev, phy_id, last);
--              return res;
-+              goto out_free_resp;
-       case SMP_RESP_FUNC_ACC:
-               break;
-       case -ECOMM:
-               break;
-       default:
--              return res;
-+              goto out_free_resp;
-       }
-+      if (res == 0)
-+              sas_get_sas_addr_and_dev_type(disc_resp, sas_addr, &type);
-+
-       if ((SAS_ADDR(sas_addr) == 0) || (res == -ECOMM)) {
-               phy->phy_state = PHY_EMPTY;
-               sas_unregister_devs_sas_addr(dev, phy_id, last);
-               /*
--               * Even though the PHY is empty, for convenience we discover
--               * the PHY to update the PHY info, like negotiated linkrate.
-+               * Even though the PHY is empty, for convenience we update
-+               * the PHY info, like negotiated linkrate.
-                */
--              sas_ex_phy_discover(dev, phy_id);
--              return res;
-+              if (res == 0)
-+                      sas_set_ex_phy(dev, phy_id, disc_resp);
-+              goto out_free_resp;
-       } else if (SAS_ADDR(sas_addr) == SAS_ADDR(phy->attached_sas_addr) &&
-                  dev_type_flutter(type, phy->attached_dev_type)) {
-               struct domain_device *ata_dev = sas_ex_to_ata(dev, phy_id);
-@@ -2046,7 +2055,7 @@ static int sas_rediscover_dev(struct dom
-                       action = ", needs recovery";
-               pr_debug("ex %016llx phy%02d broadcast flutter%s\n",
-                        SAS_ADDR(dev->sas_addr), phy_id, action);
--              return res;
-+              goto out_free_resp;
-       }
-       /* we always have to delete the old device when we went here */
-@@ -2055,7 +2064,10 @@ static int sas_rediscover_dev(struct dom
-               SAS_ADDR(phy->attached_sas_addr));
-       sas_unregister_devs_sas_addr(dev, phy_id, last);
--      return sas_discover_new(dev, phy_id);
-+      res = sas_discover_new(dev, phy_id);
-+out_free_resp:
-+      kfree(disc_resp);
-+      return res;
- }
- /**
index 6c9ce6ac78fbb0fab67ae42d511fd05aa71677cf..fa926984d9d96df469029d80e101f9f9b5d09a30 100644 (file)
@@ -125,4 +125,3 @@ usb-udc-remove-warning-when-queue-disabled-ep.patch
 scsi-qla2xxx-fix-command-flush-on-cable-pull.patch
 x86-cpu-enable-stibp-on-amd-if-automatic-ibrs-is-enabled.patch
 scsi-lpfc-correct-size-for-wqe-for-memset.patch
-scsi-libsas-fix-disk-not-being-scanned-in-after-being-removed.patch