All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [GIT PULL] pv/pcifront-2.6.32
Date: Tue, 2 Mar 2010 08:55:21 -0500	[thread overview]
Message-ID: <20100302135521.GB25893@phenom.dumpdata.com> (raw)
In-Reply-To: <1267521715.11737.23106.camel@zakaz.uk.xensource.com>

On Tue, Mar 02, 2010 at 09:21:55AM +0000, Ian Campbell wrote:
> On Tue, 2010-03-02 at 03:12 +0000, Konrad Rzeszutek Wilk wrote:
> > 
> > Ian Campbell (1):
> >       xen: fix off-by-one error in find_unbound_irq 
> 
> You need to add this commit if you include the above:

I merged both patches and joined the  description.
This is what I have (I hope this is OK?):


commit bfbc226dc3473b49d6a8721ca8f6457e6fa1c690
Author: Ian Campbell <Ian.Campbell@citrix.com>
Date:   Mon Mar 1 13:07:18 2010 +0000

    xen: fix off-by-one error in find_unbound_irq
    
    68458a36 "fix off-by-one error in find_unbound_irq" introduced an issue with
    the error handling in this function. It incorrectly assumed that exiting the
    searhc loop with irq == nr_irqs - 1 was an error case when in fact it is
    prefectly possible for irq == nr_irqs - 1 to be an available IRQ.
    
    The actual error condition which 68458a36 tried to fix is when start ==
    nr_irqs, IOW when there is literaly no interrupts which aren't already h/w
    interrupts.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
     drivers/xen/events.c |   10 ++++++++--
     1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index c75614b..be9ad7f 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -363,13 +363,16 @@ static int find_unbound_irq(void)
 	struct irq_desc *desc;
 	int start = get_nr_hw_irqs();
 
+	if (start == nr_irqs)
+		goto no_irqs;
+
 	/* nr_irqs is a magic value. Must not use it.*/
 	for (irq = nr_irqs-1; irq > start; irq--)
 		if (irq_info[irq].type == IRQT_UNBOUND)
 			break;
 
-	if (irq == start || irq == nr_irqs)
-		panic("No available IRQ to bind to: increase nr_irqs!\n");
+	if (irq == start)
+		goto no_irqs;
 
 	desc = irq_to_desc_alloc_node(irq, 0);
 	if (WARN_ON(desc == NULL))
@@ -378,6 +381,9 @@ static int find_unbound_irq(void)
 	dynamic_irq_init(irq);
 
 	return irq;
+
+no_irqs:
+	panic("No available IRQ to bind to: increase nr_irqs!\n");
 }
 
 static bool identity_mapped_irq(unsigned irq)
> 
> commit 716645983e03118d11924cc245cd63fd67c6bfa8
> Author: Ian Campbell <ian.campbell@citrix.com>
> Date:   Mon Mar 1 12:06:15 2010 +0000
> 
>     xen: fix error handling in in find_unbound_irq
>     
>     68458a36 "fix off-by-one error in find_unbound_irq" introduced an issue with
>     the error handling in this function. It incorrectly assumed that exiting the
>     searhc loop with irq == nr_irqs - 1 was an error case when in fact it is
>     prefectly possible for irq == nr_irqs - 1 to be an available IRQ.
>     
>     The actual error condition which 68458a36 tried to fix is when start ==
>     nr_irqs, IOW when there is literaly no interrupts which aren't already h/w
>     interrupts.
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

  reply	other threads:[~2010-03-02 13:55 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-02  3:12 [GIT PULL] pv/pcifront-2.6.32 Konrad Rzeszutek Wilk
2010-03-02  9:21 ` Ian Campbell
2010-03-02 13:55   ` Konrad Rzeszutek Wilk [this message]
2010-03-02 14:45     ` Ian Campbell
2010-03-02 14:15 ` Konrad Rzeszutek Wilk
2010-03-02 20:12 ` Jeremy Fitzhardinge
2010-03-02 21:54   ` Konrad Rzeszutek Wilk
2010-03-02 22:20     ` Konrad Rzeszutek Wilk
2010-03-02 23:13       ` Jeremy Fitzhardinge
2010-03-02 22:47     ` Jeremy Fitzhardinge
2010-03-03 14:22       ` Konrad Rzeszutek Wilk

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=20100302135521.GB25893@phenom.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=jeremy@goop.org \
    --cc=xen-devel@lists.xensource.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.