Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 271659 Details for
Bug 352513
sys-kernel/gentoo-sources-2.6.37: bug in rt61pci module when removing pcmcia card
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
use spinlock to unload the module
rt61pci.patch (text/plain), 1.73 KB, created by
Stratos Psomadakis (RETIRED)
on 2011-04-30 18:18:27 UTC
(
hide
)
Description:
use spinlock to unload the module
Filename:
MIME Type:
Creator:
Stratos Psomadakis (RETIRED)
Created:
2011-04-30 18:18:27 UTC
Size:
1.73 KB
patch
obsolete
>diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c >index 9597a03..71b3033 100644 >--- a/drivers/net/wireless/rt2x00/rt2x00dev.c >+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c >@@ -949,6 +949,7 @@ int rt2x00lib_probe_dev(struct rt2x00_dev *rt2x00dev) > { > int retval = -ENOMEM; > >+ spin_lock_init(&rt2x00dev->irqmask_lock); > mutex_init(&rt2x00dev->csr_mutex); > > set_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags); >diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c >index e295c59..74dd783 100644 >--- a/drivers/net/wireless/rt2x00/rt2x00pci.c >+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c >@@ -327,9 +327,11 @@ void rt2x00pci_remove(struct pci_dev *pci_dev) > /* > * Free all allocated data. > */ >+ spin_lock_irq(&rt2x00dev->irqmask_lock); > rt2x00lib_remove_dev(rt2x00dev); > rt2x00pci_free_reg(rt2x00dev); > ieee80211_free_hw(hw); >+ spin_unlock_irq(&rt2x00dev->irqmask_lock); > /* > * Free the PCI device data. > */ >diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c >index 5fcd614..7be779c 100644 >--- a/drivers/net/wireless/rt2x00/rt61pci.c >+++ b/drivers/net/wireless/rt2x00/rt61pci.c >@@ -2258,6 +2258,7 @@ static irqreturn_t rt61pci_interrupt_thread(int irq, void *dev_instance) > /* Enable interrupts again. */ > rt2x00dev->ops->lib->set_device_state(rt2x00dev, > STATE_RADIO_IRQ_ON_ISR); >+ spin_unlock(&rt2x00dev->irqmask_lock); > return IRQ_HANDLED; > } > >@@ -2268,6 +2269,7 @@ static irqreturn_t rt61pci_interrupt(int irq, void *dev_instance) > u32 reg_mcu; > u32 reg; > >+ spin_lock(&rt2x00dev->irqmask_lock); > /* > * Get the interrupt sources & saved to local variable. > * Write register value back to clear pending interrupts.
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 352513
:
260547
| 271659