diff options
author | Christof Schmitt <christof.schmitt@de.ibm.com> | 2008-08-21 07:43:34 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-08-29 10:04:13 -0400 |
commit | f48bf7fb00f74d93105ba69522a3f6c9435d6af3 (patch) | |
tree | 291ff489bd21474114633f255228b5361e269ed7 /drivers | |
parent | 47f7bba52b01dd881fbd17b4b50c89ecf186eee2 (diff) |
[SCSI] zfcp: Simplify ccw notify handler
The notify handler does not change the list of adapters, it only
triggers erp actions to open or shutdown the adapter. We don't
need to hold the config semaphore and wait for the erp to complete.
This is a prerequisite for a fix in the s390 common i/o code.
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: Martin Petermann <martin@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/s390/scsi/zfcp_ccw.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/s390/scsi/zfcp_ccw.c b/drivers/s390/scsi/zfcp_ccw.c index 391dd29749f8..51b6a05f4d12 100644 --- a/drivers/s390/scsi/zfcp_ccw.c +++ b/drivers/s390/scsi/zfcp_ccw.c | |||
@@ -152,10 +152,8 @@ static int zfcp_ccw_set_offline(struct ccw_device *ccw_device) | |||
152 | */ | 152 | */ |
153 | static int zfcp_ccw_notify(struct ccw_device *ccw_device, int event) | 153 | static int zfcp_ccw_notify(struct ccw_device *ccw_device, int event) |
154 | { | 154 | { |
155 | struct zfcp_adapter *adapter; | 155 | struct zfcp_adapter *adapter = dev_get_drvdata(&ccw_device->dev); |
156 | 156 | ||
157 | down(&zfcp_data.config_sema); | ||
158 | adapter = dev_get_drvdata(&ccw_device->dev); | ||
159 | switch (event) { | 157 | switch (event) { |
160 | case CIO_GONE: | 158 | case CIO_GONE: |
161 | dev_warn(&adapter->ccw_device->dev, "device gone\n"); | 159 | dev_warn(&adapter->ccw_device->dev, "device gone\n"); |
@@ -174,8 +172,6 @@ static int zfcp_ccw_notify(struct ccw_device *ccw_device, int event) | |||
174 | 89, NULL); | 172 | 89, NULL); |
175 | break; | 173 | break; |
176 | } | 174 | } |
177 | zfcp_erp_wait(adapter); | ||
178 | up(&zfcp_data.config_sema); | ||
179 | return 1; | 175 | return 1; |
180 | } | 176 | } |
181 | 177 | ||