aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/i4l
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-05-24 11:01:10 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-05-24 11:01:10 -0400
commitf13771187b9423b824f32518319f6da85d819003 (patch)
treec431cf16c286065a302d5f3fb43fc1abac7e4047 /drivers/isdn/i4l
parent15953654cc312429740fd58fb37a5a3d63a54376 (diff)
parent9f37af654fda88a8dcca74c785f6c20e52758866 (diff)
Merge branch 'bkl/ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing
* 'bkl/ioctl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing: uml: Pushdown the bkl from harddog_kern ioctl sunrpc: Pushdown the bkl from sunrpc cache ioctl sunrpc: Pushdown the bkl from ioctl autofs4: Pushdown the bkl from ioctl uml: Convert to unlocked_ioctls to remove implicit BKL ncpfs: BKL ioctl pushdown coda: Clean-up whitespace problems in pioctl.c coda: BKL ioctl pushdown drivers: Push down BKL into various drivers isdn: Push down BKL into ioctl functions scsi: Push down BKL into ioctl functions dvb: Push down BKL into ioctl functions smbfs: Push down BKL into ioctl function coda/psdev: Remove BKL from ioctl function um/mmapper: Remove BKL usage sn_hwperf: Kill BKL usage hfsplus: Push down BKL into ioctl function
Diffstat (limited to 'drivers/isdn/i4l')
-rw-r--r--drivers/isdn/i4l/isdn_common.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c
index 70044ee4b228..a44cdb492ea9 100644
--- a/drivers/isdn/i4l/isdn_common.c
+++ b/drivers/isdn/i4l/isdn_common.c
@@ -1272,9 +1272,9 @@ isdn_poll(struct file *file, poll_table * wait)
1272 1272
1273 1273
1274static int 1274static int
1275isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg) 1275isdn_ioctl(struct file *file, uint cmd, ulong arg)
1276{ 1276{
1277 uint minor = iminor(inode); 1277 uint minor = iminor(file->f_path.dentry->d_inode);
1278 isdn_ctrl c; 1278 isdn_ctrl c;
1279 int drvidx; 1279 int drvidx;
1280 int chidx; 1280 int chidx;
@@ -1722,6 +1722,18 @@ isdn_ioctl(struct inode *inode, struct file *file, uint cmd, ulong arg)
1722#undef cfg 1722#undef cfg
1723} 1723}
1724 1724
1725static long
1726isdn_unlocked_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
1727{
1728 int ret;
1729
1730 lock_kernel();
1731 ret = isdn_ioctl(file, cmd, arg);
1732 unlock_kernel();
1733
1734 return ret;
1735}
1736
1725/* 1737/*
1726 * Open the device code. 1738 * Open the device code.
1727 */ 1739 */
@@ -1838,7 +1850,7 @@ static const struct file_operations isdn_fops =
1838 .read = isdn_read, 1850 .read = isdn_read,
1839 .write = isdn_write, 1851 .write = isdn_write,
1840 .poll = isdn_poll, 1852 .poll = isdn_poll,
1841 .ioctl = isdn_ioctl, 1853 .unlocked_ioctl = isdn_unlocked_ioctl,
1842 .open = isdn_open, 1854 .open = isdn_open,
1843 .release = isdn_close, 1855 .release = isdn_close,
1844}; 1856};