Loading drivers/char/snsc.c +4 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <linux/poll.h> #include <linux/module.h> #include <linux/slab.h> #include <linux/smp_lock.h> #include <asm/sn/io.h> #include <asm/sn/sn_sal.h> #include <asm/sn/module.h> Loading Loading @@ -104,6 +105,7 @@ scdrv_open(struct inode *inode, struct file *file) file->private_data = sd; /* hook this subchannel up to the system controller interrupt */ lock_kernel(); rv = request_irq(SGI_UART_VECTOR, scdrv_interrupt, IRQF_SHARED | IRQF_DISABLED, SYSCTL_BASENAME, sd); Loading @@ -111,9 +113,10 @@ scdrv_open(struct inode *inode, struct file *file) ia64_sn_irtr_close(sd->sd_nasid, sd->sd_subch); kfree(sd); printk("%s: irq request failed (%d)\n", __func__, rv); unlock_kernel(); return -EBUSY; } unlock_kernel(); return 0; } Loading Loading
drivers/char/snsc.c +4 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <linux/poll.h> #include <linux/module.h> #include <linux/slab.h> #include <linux/smp_lock.h> #include <asm/sn/io.h> #include <asm/sn/sn_sal.h> #include <asm/sn/module.h> Loading Loading @@ -104,6 +105,7 @@ scdrv_open(struct inode *inode, struct file *file) file->private_data = sd; /* hook this subchannel up to the system controller interrupt */ lock_kernel(); rv = request_irq(SGI_UART_VECTOR, scdrv_interrupt, IRQF_SHARED | IRQF_DISABLED, SYSCTL_BASENAME, sd); Loading @@ -111,9 +113,10 @@ scdrv_open(struct inode *inode, struct file *file) ia64_sn_irtr_close(sd->sd_nasid, sd->sd_subch); kfree(sd); printk("%s: irq request failed (%d)\n", __func__, rv); unlock_kernel(); return -EBUSY; } unlock_kernel(); return 0; } Loading