scsi: libsas: Use sas_phy_match_dev_addr() instead of open coding it
authorJason Yan <yanaijie@huawei.com>
Wed, 28 Sep 2022 07:01:28 +0000 (15:01 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 18 Oct 2022 03:28:09 +0000 (03:28 +0000)
The SAS address comparison of domain device and expander phy is open
coded. Replace it with sas_phy_match_dev_addr().

Signed-off-by: Jason Yan <yanaijie@huawei.com>
Link: https://lore.kernel.org/r/20220928070130.3657183-7-yanaijie@huawei.com
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/libsas/sas_expander.c

index 7ffb429..9d6330c 100644 (file)
@@ -738,9 +738,7 @@ static void sas_ex_get_linkrate(struct domain_device *parent,
                    phy->phy_state == PHY_NOT_PRESENT)
                        continue;
 
-               if (SAS_ADDR(phy->attached_sas_addr) ==
-                   SAS_ADDR(child->sas_addr)) {
-
+               if (sas_phy_match_dev_addr(child, phy)) {
                        child->min_linkrate = min(parent->min_linkrate,
                                                  phy->linkrate);
                        child->max_linkrate = max(parent->max_linkrate,
@@ -1012,8 +1010,7 @@ static int sas_ex_discover_dev(struct domain_device *dev, int phy_id)
                sas_add_parent_port(dev, phy_id);
                return 0;
        }
-       if (dev->parent && (SAS_ADDR(ex_phy->attached_sas_addr) ==
-                           SAS_ADDR(dev->parent->sas_addr))) {
+       if (dev->parent && sas_phy_match_dev_addr(dev->parent, ex_phy)) {
                sas_add_parent_port(dev, phy_id);
                if (ex_phy->routing_attr == TABLE_ROUTING)
                        sas_configure_phy(dev, phy_id, dev->port->sas_addr, 1);
@@ -1312,7 +1309,7 @@ static int sas_check_parent_topology(struct domain_device *child)
                    parent_phy->phy_state == PHY_NOT_PRESENT)
                        continue;
 
-               if (SAS_ADDR(parent_phy->attached_sas_addr) != SAS_ADDR(child->sas_addr))
+               if (!sas_phy_match_dev_addr(child, parent_phy))
                        continue;
 
                child_phy = &child_ex->ex_phy[parent_phy->attached_phy_id];
@@ -1522,8 +1519,7 @@ static int sas_configure_parent(struct domain_device *parent,
                struct ex_phy *phy = &ex_parent->ex_phy[i];
 
                if ((phy->routing_attr == TABLE_ROUTING) &&
-                   (SAS_ADDR(phy->attached_sas_addr) ==
-                    SAS_ADDR(child->sas_addr))) {
+                   sas_phy_match_dev_addr(child, phy)) {
                        res = sas_configure_phy(parent, i, sas_addr, include);
                        if (res)
                                return res;
@@ -1858,8 +1854,7 @@ static void sas_unregister_devs_sas_addr(struct domain_device *parent,
        if (last) {
                list_for_each_entry_safe(child, n,
                        &ex_dev->children, siblings) {
-                       if (SAS_ADDR(child->sas_addr) ==
-                           SAS_ADDR(phy->attached_sas_addr)) {
+                       if (sas_phy_match_dev_addr(child, phy)) {
                                set_bit(SAS_DEV_GONE, &child->state);
                                if (dev_is_expander(child->dev_type))
                                        sas_unregister_ex_tree(parent->port, child);
@@ -1941,8 +1936,7 @@ static int sas_discover_new(struct domain_device *dev, int phy_id)
        if (res)
                return res;
        list_for_each_entry(child, &dev->ex_dev.children, siblings) {
-               if (SAS_ADDR(child->sas_addr) ==
-                   SAS_ADDR(ex_phy->attached_sas_addr)) {
+               if (sas_phy_match_dev_addr(child, ex_phy)) {
                        if (dev_is_expander(child->dev_type))
                                res = sas_discover_bfs_by_root(child);
                        break;