res = -EFAULT;
goto out_up;
}
- bcm43xx_lock_irqsafe(bcm, flags);
+ mutex_lock(&(bcm)->mutex);
+ spin_lock_irqsave(&(bcm)->irq_lock, flags);
if (bcm43xx_status(bcm) != BCM43xx_STAT_INITIALIZED) {
printk(KERN_INFO PFX "debugfs: Board not initialized.\n");
res = -EFAULT;
res = -EINVAL;
out_unlock:
- bcm43xx_unlock_irqsafe(bcm, flags);
+ spin_unlock_irqrestore(&(bcm)->irq_lock, flags);
+ mutex_unlock(&(bcm)->mutex);
out_up:
up(&big_buffer_sem);
return res;
struct bcm43xx_private *bcm = (struct bcm43xx_private *)rng->priv;
unsigned long flags;
- bcm43xx_lock_irqonly(bcm, flags);
+ spin_lock_irqsave(&(bcm)->irq_lock, flags);
*data = bcm43xx_read16(bcm, BCM43xx_MMIO_RNG);
- bcm43xx_unlock_irqonly(bcm, flags);
+ spin_unlock_irqrestore(&(bcm)->irq_lock, flags);
return (sizeof(u16));
}
bcm43xx_sysfs_unregister(bcm);
bcm43xx_periodic_tasks_delete(bcm);
- bcm43xx_lock_noirq(bcm);
+ mutex_lock(&(bcm)->mutex);
bcm43xx_shutdown_all_wireless_cores(bcm);
bcm43xx_pctl_set_crystal(bcm, 0);
- bcm43xx_unlock_noirq(bcm);
+ mutex_unlock(&(bcm)->mutex);
}
static void prepare_phydata_for_init(struct bcm43xx_phyinfo *phy)
{
int err;
- bcm43xx_lock_noirq(bcm);
+ mutex_lock(&(bcm)->mutex);
tasklet_enable(&bcm->isr_tasklet);
err = bcm43xx_pctl_set_crystal(bcm, 1);
schedule_work(&bcm->softmac->associnfo.work);
out:
- bcm43xx_unlock_noirq(bcm);
+ mutex_unlock(&(bcm)->mutex);
return err;
struct bcm43xx_phyinfo *phy;
int err;
- bcm43xx_lock_noirq(bcm);
+ mutex_lock(&(bcm)->mutex);
phy = bcm43xx_current_phy(bcm);
err = bcm43xx_select_wireless_core(bcm, phy->type);
- bcm43xx_unlock_noirq(bcm);
+ mutex_unlock(&(bcm)->mutex);
printk(KERN_ERR PFX "Controller restart%s\n",
(err == 0) ? "ed" : " failed");
goto out;
}
- bcm43xx_lock_noirq(bcm);
+ mutex_lock(&(bcm)->mutex);
err = bcm43xx_select_wireless_core(bcm, phytype);
- bcm43xx_unlock_noirq(bcm);
+ mutex_unlock(&(bcm)->mutex);
if (err == -ESRCH)
err = -ENODEV;
struct bcm43xx_private *bcm = dev_to_bcm(dev);
ssize_t count = 0;
- bcm43xx_lock_noirq(bcm);
+ mutex_lock(&(bcm)->mutex);
switch (bcm43xx_current_phy(bcm)->type) {
case BCM43xx_PHYTYPE_A:
snprintf(buf, PAGE_SIZE, "A");
default:
assert(0);
}
- bcm43xx_unlock_noirq(bcm);
+ mutex_unlock(&(bcm)->mutex);
return count;
}