aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/gdth.c
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2008-05-15 18:09:48 -0400
committerJonathan Corbet <corbet@lwn.net>2008-06-20 16:05:49 -0400
commit46787b481be00d5443d385480d12470728406cf4 (patch)
treee88c6e7e2b6dededc025862cc6328ed4436f8b3a /drivers/scsi/gdth.c
parentb3369c68bf9d61062585f3ebc1286220191c0f84 (diff)
gdth: cdev lock_kernel() pushdown
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'drivers/scsi/gdth.c')
-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 @@
120#include <linux/timer.h> 120#include <linux/timer.h>
121#include <linux/dma-mapping.h> 121#include <linux/dma-mapping.h>
122#include <linux/list.h> 122#include <linux/list.h>
123#include <linux/smp_lock.h>
123 124
124#ifdef GDTH_RTC 125#ifdef GDTH_RTC
125#include <linux/mc146818rtc.h> 126#include <linux/mc146818rtc.h>
@@ -4019,10 +4020,12 @@ static int gdth_open(struct inode *inode, struct file *filep)
4019{ 4020{
4020 gdth_ha_str *ha; 4021 gdth_ha_str *ha;
4021 4022
4023 lock_kernel();
4022 list_for_each_entry(ha, &gdth_instances, list) { 4024 list_for_each_entry(ha, &gdth_instances, list) {
4023 if (!ha->sdev) 4025 if (!ha->sdev)
4024 ha->sdev = scsi_get_host_dev(ha->shost); 4026 ha->sdev = scsi_get_host_dev(ha->shost);
4025 } 4027 }
4028 unlock_kernel();
4026 4029
4027 TRACE(("gdth_open()\n")); 4030 TRACE(("gdth_open()\n"));
4028 return 0; 4031 return 0;