linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefano Brivio <sbrivio@redhat.com>
To: Johannes Thumshirn <jthumshirn@suse.de>
Cc: Dick Kennedy <dick.kennedy@broadcom.com>,
	James Smart <james.smart@broadcom.com>,
	QLogic-Storage-Upstream@cavium.com,
	Maurizio Lombardi <mlombard@redhat.com>,
	martin.petersen@oracle.com,
	"James E . J . Bottomley" <jejb@linux.vnet.ibm.com>,
	linux-scsi@vger.kernel.org
Subject: Re: [PATCH RESEND] lpfc: Don't return internal MBXERR_ERROR code from probe function
Date: Wed, 6 Sep 2017 11:54:15 +0200	[thread overview]
Message-ID: <20170906115415.435a1bfb@elisabeth> (raw)
In-Reply-To: <20170906093034.hkyeg3pjxy3nmyig@linux-x5ow.site>

On Wed, 6 Sep 2017 11:30:34 +0200
Johannes Thumshirn <jthumshirn@suse.de> wrote:

> On Wed, Sep 06, 2017 at 11:02:56AM +0200, Stefano Brivio wrote:
> > Internal error codes happen to be positive, thus the PCI driver
> > core won't treat them as failure, but we do. This would cause a
> > crash later on as lpfc_pci_remove_one() is called (e.g. as
> > shutdown function).
> > 
> > Fixes: 6d368e532168 ("[SCSI] lpfc 8.3.24: Add resource extent support")
> > Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
> > ---
> > This seems to have been ignored. Re-sending as suggested by Johannes.
> > 
> >  drivers/scsi/lpfc/lpfc_init.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
> > index 491aa95eb0f6..38cc2b5bb5a2 100644
> > --- a/drivers/scsi/lpfc/lpfc_init.c
> > +++ b/drivers/scsi/lpfc/lpfc_init.c
> > @@ -6118,6 +6118,7 @@ lpfc_sli4_driver_resource_setup(struct lpfc_hba *phba)
> >  				"Extents and RPI headers enabled.\n");
> >  		}
> >  		mempool_free(mboxq, phba->mbox_mem_pool);
> > +		rc = -EIO;
> >  		goto out_free_bsmbx;
> >  	}
> >  
> > -- 
> > 2.9.4  
> 
> The patch looks good, but there are lots of 
> 	if (rc) {
> 		mempool_free(mboxq, phba->mbox_mem_pool);
> 		rc = -EIO;
> 		goto out_free_bsmbx;
> 	}
> 
> in lpfc_sli4_driver_resource_setup(). Shouldn't out_free_bsmbx take care of it
> all so we only have:
> 	if (rc)
> 		goto out_free_bsmbx;

Thanks for your feedback!

I considered doing something similar, but there are different error
coded which are set when we reach the label out_free_mbsx. I checked all
of them (and I hope I didn't miss any), but they all looked correct,
and in quite a few cases different than -EIO (e.g. -ENODEV).

So I think always returning -EIO in those cases is not what we want.

> Because as this patch shows there's always a chance to miss an 'rc = -EIO'.
> 
> Out of curiosity, do you know what's the value of rc in the failure case?

Yes, MBXERR_ERROR (mentioned in patch subject -- sorry, I could have
repeated it in the message perhaps).


--
Stefano

  reply	other threads:[~2017-09-06  9:54 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-28 13:05 [PATCH] lpfc: Don't return internal MBXERR_ERROR code from probe function Stefano Brivio
2017-09-06  8:32 ` Stefano Brivio
2017-09-06  8:42   ` Johannes Thumshirn
2017-09-06  8:47     ` Stefano Brivio
2017-09-06  8:52       ` Johannes Thumshirn
2017-09-06  9:02 ` [PATCH RESEND] " Stefano Brivio
2017-09-06  9:30   ` Johannes Thumshirn
2017-09-06  9:54     ` Stefano Brivio [this message]
2017-09-06 10:02       ` Johannes Thumshirn
2017-09-15  1:19   ` Martin K. Petersen
2017-09-15 14:18     ` James Smart
2017-09-16  1:16   ` Martin K. Petersen

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=20170906115415.435a1bfb@elisabeth \
    --to=sbrivio@redhat.com \
    --cc=QLogic-Storage-Upstream@cavium.com \
    --cc=dick.kennedy@broadcom.com \
    --cc=james.smart@broadcom.com \
    --cc=jejb@linux.vnet.ibm.com \
    --cc=jthumshirn@suse.de \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=mlombard@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).