Pavel Roskin <[EMAIL PROTECTED]> :
> index 0000000..b05a9a5
> --- /dev/null
> +++ b/drivers/net/wireless/orinoco_pci.h
[...]
> +static int orinoco_pci_resume(struct pci_dev *pdev)
> +{
> + struct net_device *dev = pci_get_drvdata(pdev);
> + struct orinoco_private *priv = netdev_priv(dev);
> + unsigned long flags;
> + int err;
> +
> + pci_set_power_state(pdev, 0);
> + pci_enable_device(pdev);
> + pci_restore_state(pdev);
> +
> + err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ,
> + dev->name, dev);
> + if (err) {
> + printk(KERN_ERR "%s: cannot re-allocate IRQ on resume\n",
> + dev->name);
> + pci_disable_device(pdev);
> + return -EBUSY;
> + }
> +
> + err = orinoco_reinit_firmware(dev);
> + if (err) {
> + printk(KERN_ERR "%s: error %d re-initializing firmware "
> + "on resume\n", dev->name, err);
> + return err;
> + }
> +
> + spin_lock_irqsave(&priv->lock, flags);
Interruptions are enabled. No need to save/restore.
> +
> + netif_device_attach(dev);
> +
> + priv->hw_unavailable--;
> +
> + if (priv->open && (! priv->hw_unavailable)) {
> + err = __orinoco_up(dev);
I wonder if it would be enough to issue hermes_set_irqmask() later
in __orinoco_up() to release this irq disabled section.
--
Ueimor
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html