diff options
Diffstat (limited to 'drivers/net/hamradio/yam.c')
| -rw-r--r-- | drivers/net/hamradio/yam.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c index 0721e72f929..81901659cc9 100644 --- a/drivers/net/hamradio/yam.c +++ b/drivers/net/hamradio/yam.c @@ -888,7 +888,7 @@ static int yam_open(struct net_device *dev)  		goto out_release_base;  	}  	outb(0, IER(dev->base_addr)); -	if (request_irq(dev->irq, yam_interrupt, IRQF_DISABLED | IRQF_SHARED, dev->name, dev)) { +	if (request_irq(dev->irq, yam_interrupt, IRQF_SHARED, dev->name, dev)) {  		printk(KERN_ERR "%s: irq %d busy\n", dev->name, dev->irq);  		ret = -EBUSY;  		goto out_release_base; @@ -975,7 +975,6 @@ static int yam_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)  			return -EINVAL;		/* Cannot change this parameter when up */  		if ((ym = kmalloc(sizeof(struct yamdrv_ioctl_mcs), GFP_KERNEL)) == NULL)  			return -ENOBUFS; -		ym->bitrate = 9600;  		if (copy_from_user(ym, ifr->ifr_data, sizeof(struct yamdrv_ioctl_mcs))) {  			kfree(ym);  			return -EFAULT; @@ -1058,6 +1057,7 @@ static int yam_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)  		break;  	case SIOCYAMGCFG: +		memset(&yi, 0, sizeof(yi));  		yi.cfg.mask = 0xffffffff;  		yi.cfg.iobase = yp->iobase;  		yi.cfg.irq = yp->irq; @@ -1184,7 +1184,7 @@ static void __exit yam_cleanup_driver(void)  	struct yam_mcs *p;  	int i; -	del_timer(&yam_timer); +	del_timer_sync(&yam_timer);  	for (i = 0; i < NR_PORTS; i++) {  		struct net_device *dev = yam_devs[i];  		if (dev) {  | 
