diff options
Diffstat (limited to 'drivers/message')
| -rw-r--r-- | drivers/message/fusion/mptctl.c | 7 | ||||
| -rw-r--r-- | drivers/message/i2o/i2o_block.c | 12 | ||||
| -rw-r--r-- | drivers/message/i2o/i2o_config.c | 21 |
3 files changed, 11 insertions, 29 deletions
diff --git a/drivers/message/fusion/mptctl.c b/drivers/message/fusion/mptctl.c index f5233f3d9eff..b89f476cd0a9 100644 --- a/drivers/message/fusion/mptctl.c +++ b/drivers/message/fusion/mptctl.c | |||
| @@ -559,12 +559,6 @@ mptctl_fasync(int fd, struct file *filep, int mode) | |||
| 559 | return ret; | 559 | return ret; |
| 560 | } | 560 | } |
| 561 | 561 | ||
| 562 | static int | ||
| 563 | mptctl_release(struct inode *inode, struct file *filep) | ||
| 564 | { | ||
| 565 | return fasync_helper(-1, filep, 0, &async_queue); | ||
| 566 | } | ||
| 567 | |||
| 568 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 562 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
| 569 | /* | 563 | /* |
| 570 | * MPT ioctl handler | 564 | * MPT ioctl handler |
| @@ -2706,7 +2700,6 @@ mptctl_hp_targetinfo(unsigned long arg) | |||
| 2706 | static const struct file_operations mptctl_fops = { | 2700 | static const struct file_operations mptctl_fops = { |
| 2707 | .owner = THIS_MODULE, | 2701 | .owner = THIS_MODULE, |
| 2708 | .llseek = no_llseek, | 2702 | .llseek = no_llseek, |
| 2709 | .release = mptctl_release, | ||
| 2710 | .fasync = mptctl_fasync, | 2703 | .fasync = mptctl_fasync, |
| 2711 | .unlocked_ioctl = mptctl_ioctl, | 2704 | .unlocked_ioctl = mptctl_ioctl, |
| 2712 | #ifdef CONFIG_COMPAT | 2705 | #ifdef CONFIG_COMPAT |
diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c index 11a617ab4243..84bdc2ee69e6 100644 --- a/drivers/message/i2o/i2o_block.c +++ b/drivers/message/i2o/i2o_block.c | |||
| @@ -567,8 +567,8 @@ static void i2o_block_biosparam(unsigned long capacity, unsigned short *cyls, | |||
| 567 | 567 | ||
| 568 | /** | 568 | /** |
| 569 | * i2o_block_open - Open the block device | 569 | * i2o_block_open - Open the block device |
| 570 | * @inode: inode for block device being opened | 570 | * @bdev: block device being opened |
| 571 | * @file: file to open | 571 | * @mode: file open mode |
| 572 | * | 572 | * |
| 573 | * Power up the device, mount and lock the media. This function is called, | 573 | * Power up the device, mount and lock the media. This function is called, |
| 574 | * if the block device is opened for access. | 574 | * if the block device is opened for access. |
| @@ -596,8 +596,8 @@ static int i2o_block_open(struct block_device *bdev, fmode_t mode) | |||
| 596 | 596 | ||
| 597 | /** | 597 | /** |
| 598 | * i2o_block_release - Release the I2O block device | 598 | * i2o_block_release - Release the I2O block device |
| 599 | * @inode: inode for block device being released | 599 | * @disk: gendisk device being released |
| 600 | * @file: file to close | 600 | * @mode: file open mode |
| 601 | * | 601 | * |
| 602 | * Unlock and unmount the media, and power down the device. Gets called if | 602 | * Unlock and unmount the media, and power down the device. Gets called if |
| 603 | * the block device is closed. | 603 | * the block device is closed. |
| @@ -643,8 +643,8 @@ static int i2o_block_getgeo(struct block_device *bdev, struct hd_geometry *geo) | |||
| 643 | 643 | ||
| 644 | /** | 644 | /** |
| 645 | * i2o_block_ioctl - Issue device specific ioctl calls. | 645 | * i2o_block_ioctl - Issue device specific ioctl calls. |
| 646 | * @inode: inode for block device ioctl | 646 | * @bdev: block device being opened |
| 647 | * @file: file for ioctl | 647 | * @mode: file open mode |
| 648 | * @cmd: ioctl command | 648 | * @cmd: ioctl command |
| 649 | * @arg: arg | 649 | * @arg: arg |
| 650 | * | 650 | * |
diff --git a/drivers/message/i2o/i2o_config.c b/drivers/message/i2o/i2o_config.c index a3fabdbe6ca6..f3384c32b9a1 100644 --- a/drivers/message/i2o/i2o_config.c +++ b/drivers/message/i2o/i2o_config.c | |||
| @@ -1097,28 +1097,17 @@ static int cfg_fasync(int fd, struct file *fp, int on) | |||
| 1097 | static int cfg_release(struct inode *inode, struct file *file) | 1097 | static int cfg_release(struct inode *inode, struct file *file) |
| 1098 | { | 1098 | { |
| 1099 | ulong id = (ulong) file->private_data; | 1099 | ulong id = (ulong) file->private_data; |
| 1100 | struct i2o_cfg_info *p1, *p2; | 1100 | struct i2o_cfg_info *p, **q; |
| 1101 | unsigned long flags; | 1101 | unsigned long flags; |
| 1102 | 1102 | ||
| 1103 | lock_kernel(); | 1103 | lock_kernel(); |
| 1104 | p1 = p2 = NULL; | ||
| 1105 | |||
| 1106 | spin_lock_irqsave(&i2o_config_lock, flags); | 1104 | spin_lock_irqsave(&i2o_config_lock, flags); |
| 1107 | for (p1 = open_files; p1;) { | 1105 | for (q = &open_files; (p = *q) != NULL; q = &p->next) { |
| 1108 | if (p1->q_id == id) { | 1106 | if (p->q_id == id) { |
| 1109 | 1107 | *q = p->next; | |
| 1110 | if (p1->fasync) | 1108 | kfree(p); |
| 1111 | cfg_fasync(-1, file, 0); | ||
| 1112 | if (p2) | ||
| 1113 | p2->next = p1->next; | ||
| 1114 | else | ||
| 1115 | open_files = p1->next; | ||
| 1116 | |||
| 1117 | kfree(p1); | ||
| 1118 | break; | 1109 | break; |
| 1119 | } | 1110 | } |
| 1120 | p2 = p1; | ||
| 1121 | p1 = p1->next; | ||
| 1122 | } | 1111 | } |
| 1123 | spin_unlock_irqrestore(&i2o_config_lock, flags); | 1112 | spin_unlock_irqrestore(&i2o_config_lock, flags); |
| 1124 | unlock_kernel(); | 1113 | unlock_kernel(); |
