From: "Jorge Boncompte [DTI2]" <jorge@dti2.net>
To: netdev@vger.kernel.org
Cc: chas williams <chas@cmf.nrl.navy.mil>
Subject: [PATCH][ATM] iphase: BUG: sleeping function called from invalid context
Date: Thu, 05 Jun 2008 18:12:31 +0200 [thread overview]
Message-ID: <4848106F.30503@dti2.net> (raw)
iphase driver calls ioremap under spinlock_irqsave in his
initialization function. The spinlock seems to be there just for the
sole purpose of preventing initializing multiple cards at once. So I
think that removing it should be fine.
Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
---
drivers/atm/iphase.c | 6 ------
drivers/atm/iphase.h | 2 +-
2 files changed, 1 insertions(+), 7 deletions(-)
diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
index 5c28ca7..a51b7cb 100644
--- a/drivers/atm/iphase.c
+++ b/drivers/atm/iphase.c
@@ -3171,7 +3171,6 @@ static int __devinit ia_init_one(struct pci_dev *pdev,
{
struct atm_dev *dev;
IADEV *iadev;
- unsigned long flags;
int ret;
iadev = kzalloc(sizeof(*iadev), GFP_KERNEL);
@@ -3201,19 +3200,14 @@ static int __devinit ia_init_one(struct pci_dev
*pdev,
ia_dev[iadev_count] = iadev;
_ia_dev[iadev_count] = dev;
iadev_count++;
- spin_lock_init(&iadev->misc_lock);
- /* First fixes first. I don't want to think about this now. */
- spin_lock_irqsave(&iadev->misc_lock, flags);
if (ia_init(dev) || ia_start(dev)) {
IF_INIT(printk("IA register failed!\n");)
iadev_count--;
ia_dev[iadev_count] = NULL;
_ia_dev[iadev_count] = NULL;
- spin_unlock_irqrestore(&iadev->misc_lock, flags);
ret = -EINVAL;
goto err_out_deregister_dev;
}
- spin_unlock_irqrestore(&iadev->misc_lock, flags);
IF_EVENT(printk("iadev_count = %d\n", iadev_count);)
iadev->next_board = ia_boards;
diff --git a/drivers/atm/iphase.h b/drivers/atm/iphase.h
index b2cd20f..f3457a9 100644
--- a/drivers/atm/iphase.h
+++ b/drivers/atm/iphase.h
@@ -1022,7 +1022,7 @@ typedef struct iadev_t {
struct dle_q rx_dle_q;
struct free_desc_q *rx_free_desc_qhead;
struct sk_buff_head rx_dma_q;
- spinlock_t rx_lock, misc_lock;
+ spinlock_t rx_lock;
struct atm_vcc **rx_open; /* list of all open VCs */
u16 num_rx_desc, rx_buf_sz, rxing;
u32 rx_pkt_ram, rx_tmp_cnt;
--
next reply other threads:[~2008-06-05 16:12 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-05 16:12 Jorge Boncompte [DTI2] [this message]
2008-06-14 21:05 ` [PATCH][ATM] iphase: BUG: sleeping function called from invalid context Chas Williams (CONTRACTOR)
2008-06-15 13:00 ` Jorge Boncompte [DTI2]
2008-06-15 14:47 ` Chas Williams (CONTRACTOR)
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=4848106F.30503@dti2.net \
--to=jorge@dti2.net \
--cc=chas@cmf.nrl.navy.mil \
--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.