diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-06-18 01:15:45 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-06-18 01:15:45 -0400 |
commit | ea6e1e94f2cb9ae54bd1428e1ef3e84a749ceed8 (patch) | |
tree | 712ae925e95105b763b2fd851348288c53e78d55 /drivers | |
parent | db9ca5803566078aafe63cf364ef98b5097e4194 (diff) | |
parent | 427abfa28afedffadfca9dd8b067eb6d36bac53f (diff) | |
download | op-kernel-dev-ea6e1e94f2cb9ae54bd1428e1ef3e84a749ceed8.zip op-kernel-dev-ea6e1e94f2cb9ae54bd1428e1ef3e84a749ceed8.tar.gz |
Merge branch 'master' into upstream
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/cdrom/cdrom.c | 6 | ||||
-rw-r--r-- | drivers/net/sky2.c | 7 |
2 files changed, 10 insertions, 3 deletions
diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c index a59876a..3170eaa 100644 --- a/drivers/cdrom/cdrom.c +++ b/drivers/cdrom/cdrom.c @@ -1009,9 +1009,9 @@ int cdrom_open(struct cdrom_device_info *cdi, struct inode *ip, struct file *fp) if (fp->f_mode & FMODE_WRITE) { ret = -EROFS; if (cdrom_open_write(cdi)) - goto err; + goto err_release; if (!CDROM_CAN(CDC_RAM)) - goto err; + goto err_release; ret = 0; cdi->media_written = 0; } @@ -1026,6 +1026,8 @@ int cdrom_open(struct cdrom_device_info *cdi, struct inode *ip, struct file *fp) not be mounting, but opening with O_NONBLOCK */ check_disk_change(ip->i_bdev); return 0; +err_release: + cdi->ops->release(cdi); err: cdi->use_count--; return ret; diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 97fe956..fba1e4d4 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -2255,8 +2255,10 @@ static irqreturn_t sky2_intr(int irq, void *dev_id, struct pt_regs *regs) static void sky2_netpoll(struct net_device *dev) { struct sky2_port *sky2 = netdev_priv(dev); + struct net_device *dev0 = sky2->hw->dev[0]; - sky2_intr(sky2->hw->pdev->irq, sky2->hw, NULL); + if (netif_running(dev) && __netif_rx_schedule_prep(dev0)) + __netif_rx_schedule(dev0); } #endif @@ -3446,6 +3448,7 @@ static int sky2_suspend(struct pci_dev *pdev, pm_message_t state) sky2_down(dev); netif_device_detach(dev); + netif_poll_disable(dev); } } @@ -3474,6 +3477,8 @@ static int sky2_resume(struct pci_dev *pdev) struct net_device *dev = hw->dev[i]; if (dev && netif_running(dev)) { netif_device_attach(dev); + netif_poll_enable(dev); + err = sky2_up(dev); if (err) { printk(KERN_ERR PFX "%s: could not up: %d\n", |