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) |
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 a59876a0bfa1..3170eaa25087 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) | |||
1009 | if (fp->f_mode & FMODE_WRITE) { | 1009 | if (fp->f_mode & FMODE_WRITE) { |
1010 | ret = -EROFS; | 1010 | ret = -EROFS; |
1011 | if (cdrom_open_write(cdi)) | 1011 | if (cdrom_open_write(cdi)) |
1012 | goto err; | 1012 | goto err_release; |
1013 | if (!CDROM_CAN(CDC_RAM)) | 1013 | if (!CDROM_CAN(CDC_RAM)) |
1014 | goto err; | 1014 | goto err_release; |
1015 | ret = 0; | 1015 | ret = 0; |
1016 | cdi->media_written = 0; | 1016 | cdi->media_written = 0; |
1017 | } | 1017 | } |
@@ -1026,6 +1026,8 @@ int cdrom_open(struct cdrom_device_info *cdi, struct inode *ip, struct file *fp) | |||
1026 | not be mounting, but opening with O_NONBLOCK */ | 1026 | not be mounting, but opening with O_NONBLOCK */ |
1027 | check_disk_change(ip->i_bdev); | 1027 | check_disk_change(ip->i_bdev); |
1028 | return 0; | 1028 | return 0; |
1029 | err_release: | ||
1030 | cdi->ops->release(cdi); | ||
1029 | err: | 1031 | err: |
1030 | cdi->use_count--; | 1032 | cdi->use_count--; |
1031 | return ret; | 1033 | return ret; |
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 97fe95666f3b..fba1e4d4d83d 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) | |||
2255 | static void sky2_netpoll(struct net_device *dev) | 2255 | static void sky2_netpoll(struct net_device *dev) |
2256 | { | 2256 | { |
2257 | struct sky2_port *sky2 = netdev_priv(dev); | 2257 | struct sky2_port *sky2 = netdev_priv(dev); |
2258 | struct net_device *dev0 = sky2->hw->dev[0]; | ||
2258 | 2259 | ||
2259 | sky2_intr(sky2->hw->pdev->irq, sky2->hw, NULL); | 2260 | if (netif_running(dev) && __netif_rx_schedule_prep(dev0)) |
2261 | __netif_rx_schedule(dev0); | ||
2260 | } | 2262 | } |
2261 | #endif | 2263 | #endif |
2262 | 2264 | ||
@@ -3446,6 +3448,7 @@ static int sky2_suspend(struct pci_dev *pdev, pm_message_t state) | |||
3446 | 3448 | ||
3447 | sky2_down(dev); | 3449 | sky2_down(dev); |
3448 | netif_device_detach(dev); | 3450 | netif_device_detach(dev); |
3451 | netif_poll_disable(dev); | ||
3449 | } | 3452 | } |
3450 | } | 3453 | } |
3451 | 3454 | ||
@@ -3474,6 +3477,8 @@ static int sky2_resume(struct pci_dev *pdev) | |||
3474 | struct net_device *dev = hw->dev[i]; | 3477 | struct net_device *dev = hw->dev[i]; |
3475 | if (dev && netif_running(dev)) { | 3478 | if (dev && netif_running(dev)) { |
3476 | netif_device_attach(dev); | 3479 | netif_device_attach(dev); |
3480 | netif_poll_enable(dev); | ||
3481 | |||
3477 | err = sky2_up(dev); | 3482 | err = sky2_up(dev); |
3478 | if (err) { | 3483 | if (err) { |
3479 | printk(KERN_ERR PFX "%s: could not up: %d\n", | 3484 | printk(KERN_ERR PFX "%s: could not up: %d\n", |