diff options
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/wext.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/net/wireless/wext.c b/net/wireless/wext.c index cb6a5bb85d80..dc5b47e84a3d 100644 --- a/net/wireless/wext.c +++ b/net/wireless/wext.c | |||
@@ -649,14 +649,28 @@ static int wireless_seq_show(struct seq_file *seq, void *v) | |||
649 | return 0; | 649 | return 0; |
650 | } | 650 | } |
651 | 651 | ||
652 | static void *wireless_dev_seq_start(struct seq_file *seq, loff_t *pos) | ||
653 | __acquires(dev_base_lock) | ||
654 | { | ||
655 | rtnl_lock(); | ||
656 | return dev_seq_start(seq, pos); | ||
657 | } | ||
658 | |||
659 | static void wireless_dev_seq_stop(struct seq_file *seq, void *v) | ||
660 | __releases(dev_base_lock) | ||
661 | { | ||
662 | dev_seq_stop(seq, v); | ||
663 | rtnl_unlock(); | ||
664 | } | ||
665 | |||
652 | static const struct seq_operations wireless_seq_ops = { | 666 | static const struct seq_operations wireless_seq_ops = { |
653 | .start = dev_seq_start, | 667 | .start = wireless_dev_seq_start, |
654 | .next = dev_seq_next, | 668 | .next = dev_seq_next, |
655 | .stop = dev_seq_stop, | 669 | .stop = wireless_dev_seq_stop, |
656 | .show = wireless_seq_show, | 670 | .show = wireless_seq_show, |
657 | }; | 671 | }; |
658 | 672 | ||
659 | static int wireless_seq_open(struct inode *inode, struct file *file) | 673 | static int seq_open_wireless(struct inode *inode, struct file *file) |
660 | { | 674 | { |
661 | return seq_open_net(inode, file, &wireless_seq_ops, | 675 | return seq_open_net(inode, file, &wireless_seq_ops, |
662 | sizeof(struct seq_net_private)); | 676 | sizeof(struct seq_net_private)); |
@@ -664,7 +678,7 @@ static int wireless_seq_open(struct inode *inode, struct file *file) | |||
664 | 678 | ||
665 | static const struct file_operations wireless_seq_fops = { | 679 | static const struct file_operations wireless_seq_fops = { |
666 | .owner = THIS_MODULE, | 680 | .owner = THIS_MODULE, |
667 | .open = wireless_seq_open, | 681 | .open = seq_open_wireless, |
668 | .read = seq_read, | 682 | .read = seq_read, |
669 | .llseek = seq_lseek, | 683 | .llseek = seq_lseek, |
670 | .release = seq_release_net, | 684 | .release = seq_release_net, |