From c917bbb3aeff97a11d73b187f101db6af7cc9199 Mon Sep 17 00:00:00 2001 From: Jonathan Corbet Date: Thu, 15 May 2008 12:23:19 -0600 Subject: [PATCH] --- yaml --- r: 100290 b: refs/heads/master c: 647d87bd1b9e7ff24f89b7d4e38c75d756018caa h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/scsi/osst.c | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 60a3c96b09b3..36b1dda8f8ce 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: eb09d3d4ee09b25876db549b6d5221610216e105 +refs/heads/master: 647d87bd1b9e7ff24f89b7d4e38c75d756018caa diff --git a/trunk/drivers/scsi/osst.c b/trunk/drivers/scsi/osst.c index 31f7aec44d90..24ad89a649ce 100644 --- a/trunk/drivers/scsi/osst.c +++ b/trunk/drivers/scsi/osst.c @@ -50,6 +50,7 @@ static const char * osst_version = "0.99.4"; #include #include #include +#include #include #include #include @@ -4359,7 +4360,7 @@ static int osst_int_ioctl(struct osst_tape * STp, struct osst_request ** aSRpnt, /* Open the device */ -static int os_scsi_tape_open(struct inode * inode, struct file * filp) +static int __os_scsi_tape_open(struct inode * inode, struct file * filp) { unsigned short flags; int i, b_size, new_session = 0, retval = 0; @@ -4725,6 +4726,18 @@ static int os_scsi_tape_open(struct inode * inode, struct file * filp) return retval; } +/* BKL pushdown: spaghetti avoidance wrapper */ +static int os_scsi_tape_open(struct inode * inode, struct file * filp) +{ + int ret; + + lock_kernel(); + ret = __os_scsi_tape_open(inode, filp); + unlock_kernel(); + return ret; +} + + /* Flush the tape buffer before close */ static int os_scsi_tape_flush(struct file * filp, fl_owner_t id)