public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Benjamin Li" <benli@broadcom.com>
To: "Rik van Riel" <riel@redhat.com>,
	"Michael Chan" <mchan@broadcom.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"David Miller" <davem@davemloft.net>
Cc: "inux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [PATCH] bnx2: Promote vector field in bnx2_irq structure from u16 to unsigned int
Date: Wed, 17 Sep 2008 11:52:10 -0700	[thread overview]
Message-ID: <1221677530.4028.17.camel@localhost> (raw)

>From c455b36005a9b1b6a2b0036b7947d3f4bebb9f2d Mon Sep 17 00:00:00 2001
From: Benjamin Li <benli@broadcom.com>
Date: Tue, 16 Sep 2008 17:20:11 -0700
Subject: [PATCH] bnx2: Promote vector field in bnx2_irq structure from u16 to unsigned int

The bnx2 driver stores/uses the irq value from the pci_dev internally.
But when it stores the irq value, it has been performing an
integer demotion.  Because of the recent changes made to
arch/x86/kernel/io_apic.c, the new method in creating the irq value
(using build_irq_for_pci_dev()) has exposed this bug on x86 systems.

Because of this demotion when calling request_irq() from
bnx2_request_irq(), the driver would get a return code of -EINVAL.
This is because the kernel could not find the requested irq descriptor.
By storing the irq value properly, the kernel can find the correct
irq descriptor and the bnx2 driver can operate normally.

Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>

---
 drivers/net/bnx2.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h
index c3c579f..dfacd31 100644
--- a/drivers/net/bnx2.h
+++ b/drivers/net/bnx2.h
@@ -6597,7 +6597,7 @@ struct flash_spec {
 
 struct bnx2_irq {
 	irq_handler_t	handler;
-	u16		vector;
+	unsigned int	vector;
 	u8		requested;
 	char		name[16];
 };
-- 
1.5.5.1





             reply	other threads:[~2008-09-17 18:52 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-17 18:52 Benjamin Li [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-09-16 23:01 2.6.27-rc5-mm1 Rik van Riel
     [not found] ` <1221667442-4495-1-git-send-email-benli@broadcom.com>
     [not found]   ` <1221667442-4495-2-git-send-email-benli@broadcom.com>
2008-09-18 23:46     ` [PATCH] bnx2: Promote vector field in bnx2_irq structure from u16 to unsigned int David Miller

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=1221677530.4028.17.camel@localhost \
    --to=benli@broadcom.com \
    --cc=20080916190144.46f534b4@bree.surriel.com \
    --cc=akpm@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchan@broadcom.com \
    --cc=riel@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