All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ron Mercer <ron.mercer@qlogic.com>
To: Ben Hutchings <bhutchings@solarflare.com>
Cc: jeff@garzik.org, netdev@vger.kernel.org
Subject: Re: [PATCH 2/6] [RFC] qlge: New Driver: Adding main driver file qlge_main.c.
Date: Wed, 27 Aug 2008 07:11:27 -0700	[thread overview]
Message-ID: <20080827141127.GC31059@susedev.qlogic.org> (raw)
In-Reply-To: <20080826112420.GY7908@solarflare.com>

On Tue, Aug 26, 2008 at 12:24:21PM +0100, Ben Hutchings wrote:

> > +static int ql_adapter_initialize(struct ql_adapter *qdev)
> > +{
> > +	u32 value, mask;
> > +	int i;
> > +	int status = 0;
> > +
> > +	/*
> > +	 * Set up the System register to halt on errors.
> > +	 */
> > +	value = SYS_EFE | SYS_FAE;
> > +	mask = value << 16;
> > +	ql_write32(qdev, SYS, mask | value);
> > +
> > +	/* Set the default queue. */
> > +	value = NIC_RCV_CFG_DFQ;
> > +	mask = NIC_RCV_CFG_DFQ_MASK;
> > +	ql_write32(qdev, NIC_RCV_CFG, (mask | value));
> > +
> > +	/* Set the MPI interrupt to enabled. */
> > +	ql_write32(qdev, INTR_MASK, (INTR_MASK_PI << 16) | INTR_MASK_PI);
> > +
> > +	/* Enable the function, set pagesize, enable error checking. */
> > +	value = FSC_FE | FSC_EPC_INBOUND | FSC_EPC_OUTBOUND | FSC_EC;
> > +
> > +	if (PAGE_SHIFT == 12)	/* 4k pages */
> > +		value |= FSC_VM_PAGE_4K;
> > +	else if (PAGE_SHIFT == 13)	/* 8k pages */
> > +		value |= FSC_VM_PAGE_8K;
> > +	else if (PAGE_SHIFT == 16)	/* 64k pages */
> > +		value |= FSC_VM_PAGE_64K;
> > +	else {
> > +		QPRINTK(IFUP, ERR, "Invalid page size of %d.\n",
> > +			1 << PAGE_SHIFT);
> 
> You can use
> 	BUILD_BUG_ON(PAGE_SHIFT != 12 && PAGE_SHIFT != 13 && PAGE_SHIFT != 16);
> to detect this problem at compile time.
> 
> Why doesn't this function do any cleanup in case of failure part way
> through?
> 
> [...]

Ben, I realized I did not completely answer your question here. 
The reason there is not cleanup when a failure occurs is because all that has been done is some chip
initialization.  If ql_adapter_initialize fails the calling function
will reset the chip and do the rest of the cleanup.

Thanks,
Ron

  parent reply	other threads:[~2008-08-27 14:12 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-21 18:54 [RFC] New Qlogic 10Gb Ethernet driver for 2.6.28 Ron Mercer
2008-08-21 19:48 ` Ben Hutchings
2008-08-22  9:14   ` Jeff Garzik
2008-08-22 17:43     ` Ron Mercer
2008-08-22  9:22 ` Jeff Garzik
2008-08-22  9:42   ` David Miller
2008-08-22 17:46     ` Ron Mercer
2008-08-22 21:43       ` David Miller
2008-08-25 17:01         ` Ron Mercer
2008-08-25 21:05           ` David Miller
2008-08-26  9:36           ` Ben Hutchings
2008-08-22 17:42   ` Ron Mercer
2008-08-22 20:09 ` [RFC] qlge: " Ron Mercer
2008-08-22 20:21   ` [PATCH 1/6] [RFC] qlge: New Driver: Makefile and Kconfig changes Ron Mercer
2008-08-22 20:21   ` [PATCH 2/6] [RFC] qlge: New Driver: Adding main driver file qlge_main.c Ron Mercer
2008-08-26 11:24     ` Ben Hutchings
2008-08-26 16:51       ` Ron Mercer
2008-08-27 14:11       ` Ron Mercer [this message]
2008-08-22 20:21   ` [PATCH 3/6] [RFC] qlge: New Driver: Added management file qlge_mpi.c Ron Mercer
2008-08-22 20:21   ` [PATCH 4/6] [RFC] qlge: New Driver: Adding ethtool file qlge_ethtool.c Ron Mercer
2008-08-22 20:21   ` [PATCH 5/6] [RFC] qlge: New Driver: Adding driver header file qlge.h Ron Mercer
2008-08-26 11:00     ` Ben Hutchings
2008-08-22 20:21   ` [PATCH 6/6] [RFC] qlge: New Driver: Adding makefile Ron Mercer

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=20080827141127.GC31059@susedev.qlogic.org \
    --to=ron.mercer@qlogic.com \
    --cc=bhutchings@solarflare.com \
    --cc=jeff@garzik.org \
    --cc=netdev@vger.kernel.org \
    /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.