* [PATCH 1/1] PCI: change procfs interface to use unlocked_ioctl instead
@ 2008-01-11 3:26 ` Sergio Luis
0 siblings, 0 replies; 4+ messages in thread
From: Sergio Luis @ 2008-01-11 3:26 UTC (permalink / raw)
To: gregkh, linux-kernel, linux-pci; +Cc: kernel-janitors
Change drivers/pci/proc.c to use the unlocked_ioctl handler instead of
the ioctl one.
Signed-off-by: Sergio Luis <sergio@uece.br>
proc.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
index 716439e..8ac5880 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -12,6 +12,7 @@
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/capability.h>
+#include <linux/smp_lock.h>
#include <asm/uaccess.h>
#include <asm/byteorder.h>
#include "pci.h"
@@ -202,15 +203,17 @@ struct pci_filp_private {
int write_combine;
};
-static int proc_bus_pci_ioctl(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg)
+static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,
unsigned long arg)
{
+ struct inode *inode = file->f_path.dentry->d_inode;
const struct proc_dir_entry *dp = PDE(inode);
struct pci_dev *dev = dp->data;
#ifdef HAVE_PCI_MMAP
struct pci_filp_private *fpriv = file->private_data;
#endif /* HAVE_PCI_MMAP */
- int ret = 0;
+ long ret = 0;
+ lock_kernel();
switch (cmd) {
case PCIIOC_CONTROLLER:
ret = pci_domain_nr(dev->bus);
@@ -239,6 +242,7 @@ static int proc_bus_pci_ioctl(struct inode *inode,
struct file *file, unsigned i
break;
};
+ unlock_kernel();
return ret;
}
@@ -291,7 +295,7 @@ static const struct file_operations
proc_bus_pci_operations = {
.llseek = proc_bus_pci_lseek,
.read = proc_bus_pci_read,
.write = proc_bus_pci_write,
- .ioctl = proc_bus_pci_ioctl,
+ .unlocked_ioctl = proc_bus_pci_ioctl,
#ifdef HAVE_PCI_MMAP
.open = proc_bus_pci_open,
.release = proc_bus_pci_release,
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 1/1] PCI: change procfs interface to use unlocked_ioctl instead of ioctl
@ 2008-01-11 3:26 ` Sergio Luis
0 siblings, 0 replies; 4+ messages in thread
From: Sergio Luis @ 2008-01-11 3:26 UTC (permalink / raw)
To: gregkh, linux-kernel, linux-pci; +Cc: kernel-janitors
Change drivers/pci/proc.c to use the unlocked_ioctl handler instead of
the ioctl one.
Signed-off-by: Sergio Luis <sergio@uece.br>
proc.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
index 716439e..8ac5880 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -12,6 +12,7 @@
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/capability.h>
+#include <linux/smp_lock.h>
#include <asm/uaccess.h>
#include <asm/byteorder.h>
#include "pci.h"
@@ -202,15 +203,17 @@ struct pci_filp_private {
int write_combine;
};
-static int proc_bus_pci_ioctl(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long arg)
+static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,
unsigned long arg)
{
+ struct inode *inode = file->f_path.dentry->d_inode;
const struct proc_dir_entry *dp = PDE(inode);
struct pci_dev *dev = dp->data;
#ifdef HAVE_PCI_MMAP
struct pci_filp_private *fpriv = file->private_data;
#endif /* HAVE_PCI_MMAP */
- int ret = 0;
+ long ret = 0;
+ lock_kernel();
switch (cmd) {
case PCIIOC_CONTROLLER:
ret = pci_domain_nr(dev->bus);
@@ -239,6 +242,7 @@ static int proc_bus_pci_ioctl(struct inode *inode,
struct file *file, unsigned i
break;
};
+ unlock_kernel();
return ret;
}
@@ -291,7 +295,7 @@ static const struct file_operations
proc_bus_pci_operations = {
.llseek = proc_bus_pci_lseek,
.read = proc_bus_pci_read,
.write = proc_bus_pci_write,
- .ioctl = proc_bus_pci_ioctl,
+ .unlocked_ioctl = proc_bus_pci_ioctl,
#ifdef HAVE_PCI_MMAP
.open = proc_bus_pci_open,
.release = proc_bus_pci_release,
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH 1/1] PCI: change procfs interface to use unlocked_ioctl
2008-01-11 3:26 ` [PATCH 1/1] PCI: change procfs interface to use unlocked_ioctl instead of ioctl Sergio Luis
@ 2008-01-11 22:36 ` Greg KH
-1 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2008-01-11 22:36 UTC (permalink / raw)
To: Sergio Luis
Cc: gregkh, linux-kernel, Mathieu Segaud, linux-pci, kernel-janitors
On Fri, Jan 11, 2008 at 12:26:06AM -0300, Sergio Luis wrote:
> Change drivers/pci/proc.c to use the unlocked_ioctl handler instead of
> the ioctl one.
Thanks, but Mathieu Segaud <mathieu.segaud@regala.cx> just beat you to
this by a few hours with a patch he sent me :)
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] PCI: change procfs interface to use unlocked_ioctl instead of ioctl
@ 2008-01-11 22:36 ` Greg KH
0 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2008-01-11 22:36 UTC (permalink / raw)
To: Sergio Luis
Cc: gregkh, linux-kernel, Mathieu Segaud, linux-pci, kernel-janitors
On Fri, Jan 11, 2008 at 12:26:06AM -0300, Sergio Luis wrote:
> Change drivers/pci/proc.c to use the unlocked_ioctl handler instead of
> the ioctl one.
Thanks, but Mathieu Segaud <mathieu.segaud@regala.cx> just beat you to
this by a few hours with a patch he sent me :)
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-01-11 22:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-11 3:26 [PATCH 1/1] PCI: change procfs interface to use unlocked_ioctl instead Sergio Luis
2008-01-11 3:26 ` [PATCH 1/1] PCI: change procfs interface to use unlocked_ioctl instead of ioctl Sergio Luis
2008-01-11 22:36 ` [PATCH 1/1] PCI: change procfs interface to use unlocked_ioctl Greg KH
2008-01-11 22:36 ` [PATCH 1/1] PCI: change procfs interface to use unlocked_ioctl instead of ioctl Greg KH
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.