All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Yan <yanaijie@huawei.com>
To: John Garry <john.g.garry@oracle.com>,
	<martin.petersen@oracle.com>, <jejb@linux.ibm.com>
Cc: <linux-scsi@vger.kernel.org>, <hare@suse.com>, <hch@lst.de>,
	<bvanassche@acm.org>, <jinpu.wang@cloud.ionos.com>,
	<damien.lemoal@opensource.wdc.com>
Subject: Re: [PATCH 6/6] scsi: libsas: factor out sas_ex_add_dev()
Date: Thu, 8 Dec 2022 16:07:15 +0800	[thread overview]
Message-ID: <e762cb18-0da2-9fbe-d1c1-8ddc6b9daf55@huawei.com> (raw)
In-Reply-To: <22aca8ae-56df-4589-dc4e-82fbb00d0b1d@oracle.com>

On 2022/12/5 17:31, John Garry wrote:
> On 04/12/2022 08:16, Jason Yan wrote:
>> Factor out sas_ex_add_dev() to be consistent with sas_ata_add_dev() and
>> unify the error handling.
>>
>> Cc: John Garry <john.g.garry@oracle.com>
>> Signed-off-by: Jason Yan <yanaijie@huawei.com>
>> ---
>>   drivers/scsi/libsas/sas_expander.c | 68 +++++++++++++++++-------------
>>   1 file changed, 39 insertions(+), 29 deletions(-)
>>
>> diff --git a/drivers/scsi/libsas/sas_expander.c 
>> b/drivers/scsi/libsas/sas_expander.c
>> index 747f4fc795f4..3c72b167d43a 100644
>> --- a/drivers/scsi/libsas/sas_expander.c
>> +++ b/drivers/scsi/libsas/sas_expander.c
>> @@ -751,13 +751,46 @@ static void sas_ex_get_linkrate(struct 
>> domain_device *parent,
>>       child->pathways = min(child->pathways, parent->pathways);
>>   }
>> +static int sas_ex_add_dev(struct domain_device *parent, struct ex_phy 
>> *phy,
>> +              struct domain_device *child, int phy_id)
>> +{
>> +    struct sas_rphy *rphy;
>> +    int res;
>> +
>> +    child->dev_type = SAS_END_DEVICE;
>> +    rphy = sas_end_device_alloc(phy->port);
>> +    if (unlikely(!rphy))
> 
> nit: this is not fastpath so unlikely can be avoided
> 

ok. It is only a hint for the compiler so not a big deal. I can delete it.

>> +        return -ENOMEM;
>> +
>> +    child->tproto = phy->attached_tproto;
>> +    sas_init_dev(child);
>> +
>> +    child->rphy = rphy;
>> +    get_device(&rphy->dev);
>> +    rphy->identify.phy_identifier = phy_id;
>> +    sas_fill_in_rphy(child, rphy);
>> +
>> +    list_add_tail(&child->disco_list_node, &parent->port->disco_list);
>> +
>> +    res = sas_notify_lldd_dev_found(child);
>> +    if (res) {
>> +        pr_notice("notify lldd for device %016llx at %016llx:%02d 
>> returned 0x%x\n",
>> +                SAS_ADDR(child->sas_addr),
>> +                SAS_ADDR(parent->sas_addr), phy_id, res);
> 
> nit: these lines could be aligned with (, as it was before

Nice catch. Will fix.

> 
>> +        sas_rphy_free(child->rphy);
>> +        list_del(&child->disco_list_node);
>> +        return res;
>> +    }
>> +
>> +    return 0;
>> +}
>> +
>>   static struct domain_device *sas_ex_discover_end_dev(
>>       struct domain_device *parent, int phy_id)
>>   {
>>       struct expander_device *parent_ex = &parent->ex_dev;
>>       struct ex_phy *phy = &parent_ex->ex_phy[phy_id];
>>       struct domain_device *child = NULL;
>> -    struct sas_rphy *rphy;
>>       int res;
>>       if (phy->attached_sata_host || phy->attached_sata_ps)
>> @@ -787,44 +820,21 @@ static struct domain_device 
>> *sas_ex_discover_end_dev(
>>       if ((phy->attached_tproto & SAS_PROTOCOL_STP) || 
>> phy->attached_sata_dev) {
>>           res = sas_ata_add_dev(parent, phy, child, phy_id);
>> -        if (res)
>> -            goto out_free;
>>       } else if (phy->attached_tproto & SAS_PROTOCOL_SSP) {
>> -        child->dev_type = SAS_END_DEVICE;
>> -        rphy = sas_end_device_alloc(phy->port);
>> -        /* FIXME: error handling */
> 
> so has the error handling been fixed now?

IIUC, the error handling is ok so this comment can be deleted.

Thanks,
Jason

      reply	other threads:[~2022-12-08  8:07 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-04  8:16 [PATCH 0/6] scsi: libsas: Some coding style fixes and cleanups Jason Yan
2022-12-04  8:16 ` [PATCH 1/6] scsi: libsas: move sas_get_ata_command_set() up to save the declaration Jason Yan
2022-12-05  8:45   ` John Garry
2022-12-08  6:36     ` Jason Yan
2022-12-04  8:16 ` [PATCH 2/6] scsi: libsas: delete wrapper function sas_discover_end_dev() Jason Yan
2022-12-05  8:57   ` John Garry
2022-12-08  6:56     ` Jason Yan
2022-12-04  8:16 ` [PATCH 3/6] scsi: libsas: rename sas_discover_sata() and related refactors Jason Yan
2022-12-04  8:16 ` [PATCH 4/6] scsi: libsas: remove useless dev_list delete in sas_ex_discover_end_dev() Jason Yan
2022-12-05  9:14   ` John Garry
2022-12-08  7:21     ` Jason Yan
2022-12-08 10:40       ` John Garry
2022-12-08 11:11         ` Jason Yan
2022-12-04  8:16 ` [PATCH 5/6] scsi: libsas: factor out sas_ata_add_dev() Jason Yan
2022-12-05  9:24   ` John Garry
2022-12-08  7:26     ` Jason Yan
2022-12-04  8:16 ` [PATCH 6/6] scsi: libsas: factor out sas_ex_add_dev() Jason Yan
2022-12-05  9:31   ` John Garry
2022-12-08  8:07     ` Jason Yan [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e762cb18-0da2-9fbe-d1c1-8ddc6b9daf55@huawei.com \
    --to=yanaijie@huawei.com \
    --cc=bvanassche@acm.org \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=hare@suse.com \
    --cc=hch@lst.de \
    --cc=jejb@linux.ibm.com \
    --cc=jinpu.wang@cloud.ionos.com \
    --cc=john.g.garry@oracle.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.