]>
Commit | Line | Data |
---|---|---|
2cb7cef9 BS |
1 | From: Gerald Schaefer <geraldsc@de.ibm.com> |
2 | Subject: zfcp: fix remote port status check | |
3 | References: bnc#450096 | |
4 | ||
5 | Symptom: SCSI disks dropped out during FC switch error injection | |
6 | Problem: For an incoming rscn it was checked by the | |
7 | ZFCP_STATUS_PORT_DID_DID define to re-open a remote port | |
8 | or to test the connection. Since this define was re-used | |
9 | it was also necessary to replace that define. | |
10 | Solution: Replaced ZFCP_STATUS_PORT_DID_DID with | |
11 | ZFCP_STATUS_PORT_PHYS_OPEN. | |
12 | ||
13 | Acked-by: John Jolly <jjolly@suse.de> | |
14 | --- | |
15 | drivers/s390/scsi/zfcp_fc.c | 3 +-- | |
16 | 1 file changed, 1 insertion(+), 2 deletions(-) | |
17 | ||
18 | Index: linux-sles11/drivers/s390/scsi/zfcp_fc.c | |
19 | =================================================================== | |
20 | --- linux-sles11.orig/drivers/s390/scsi/zfcp_fc.c | |
21 | +++ linux-sles11/drivers/s390/scsi/zfcp_fc.c | |
22 | @@ -128,8 +128,7 @@ static void _zfcp_fc_incoming_rscn(struc | |
23 | ||
24 | read_lock_irqsave(&zfcp_data.config_lock, flags); | |
25 | list_for_each_entry(port, &fsf_req->adapter->port_list_head, list) { | |
26 | - /* FIXME: ZFCP_STATUS_PORT_DID_DID check is racy */ | |
27 | - if (!(atomic_read(&port->status) & ZFCP_STATUS_PORT_DID_DID)) | |
28 | + if (!(atomic_read(&port->status) & ZFCP_STATUS_PORT_PHYS_OPEN)) | |
29 | /* Try to connect to unused ports anyway. */ | |
30 | zfcp_erp_port_reopen(port, | |
31 | ZFCP_STATUS_COMMON_ERP_FAILED, |