Message ID | 20220928070130.3657183-6-yanaijie@huawei.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | scsi: libsas: sas address comparison refactor | expand |
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
On 28/09/2022 08:01, Jason Yan wrote: > The attached phy finding is open coded. Now we can replace it with > sas_find_attached_phy_id(). To keep consistent, the return value of > hisi_sas_dev_found() is also changed to -ENODEV after calling > sas_find_attathed_phy_id() failed. > > Signed-off-by: Jason Yan<yanaijie@huawei.com> > Reviewed-by: Jack Wang<jinpu.wang@ionos.com> > Reviewed-by: Damien Le Moal<damien.lemoal@opensource.wdc.com> > --- Acked-by: John Garry <john.garry@huawei.com>
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c index 33af5b8dede2..13415cfd3575 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_main.c +++ b/drivers/scsi/hisi_sas/hisi_sas_main.c @@ -792,22 +792,14 @@ static int hisi_sas_dev_found(struct domain_device *device) if (parent_dev && dev_is_expander(parent_dev->dev_type)) { int phy_no; - u8 phy_num = parent_dev->ex_dev.num_phys; - struct ex_phy *phy; - for (phy_no = 0; phy_no < phy_num; phy_no++) { - phy = &parent_dev->ex_dev.ex_phy[phy_no]; - if (SAS_ADDR(phy->attached_sas_addr) == - SAS_ADDR(device->sas_addr)) - break; - } - - if (phy_no == phy_num) { + phy_no = sas_find_attached_phy_id(&parent_dev->ex_dev, device); + if (phy_no < 0) { dev_info(dev, "dev found: no attached " "dev:%016llx at ex:%016llx\n", SAS_ADDR(device->sas_addr), SAS_ADDR(parent_dev->sas_addr)); - rc = -EINVAL; + rc = phy_no; goto err_out; } }