summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2008-05-16 00:09:48 +0200
committerJonathan Corbet <corbet@lwn.net>2008-06-20 22:05:49 +0200
commit46787b481be00d5443d385480d12470728406cf4 (patch)
treee88c6e7e2b6dededc025862cc6328ed4436f8b3a
parentst: cdev lock_kernel() pushdown (diff)
downloadlinux-46787b481be00d5443d385480d12470728406cf4.tar.xz
linux-46787b481be00d5443d385480d12470728406cf4.zip
gdth: cdev lock_kernel() pushdown
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
-rw-r--r--drivers/scsi/gdth.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 46771d4c81bd..822d5214692b 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -120,6 +120,7 @@
#include <linux/timer.h>
#include <linux/dma-mapping.h>
#include <linux/list.h>
+#include <linux/smp_lock.h>
#ifdef GDTH_RTC
#include <linux/mc146818rtc.h>
@@ -4019,10 +4020,12 @@ static int gdth_open(struct inode *inode, struct file *filep)
{
gdth_ha_str *ha;
+ lock_kernel();
list_for_each_entry(ha, &gdth_instances, list) {
if (!ha->sdev)
ha->sdev = scsi_get_host_dev(ha->shost);
}
+ unlock_kernel();
TRACE(("gdth_open()\n"));
return 0;