Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 136279
b: refs/heads/master
c: a5b11dd
h: refs/heads/master
i:
  136277: 3a6de93
  136275: c547ebb
  136271: cba0072
v: v3
  • Loading branch information
Christof Schmitt authored and James Bottomley committed Mar 12, 2009
1 parent 16571f0 commit 489ae8d
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 33 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 77c019768f0607c36e25bec11ce3e1eabef09277
refs/heads/master: a5b11dda12ed7e3a79180b10ad6209a40a02989f
13 changes: 6 additions & 7 deletions trunk/drivers/s390/scsi/zfcp_aux.c
Original file line number Diff line number Diff line change
Expand Up @@ -249,8 +249,8 @@ struct zfcp_port *zfcp_get_port_by_wwpn(struct zfcp_adapter *adapter,
struct zfcp_port *port;

list_for_each_entry(port, &adapter->port_list_head, list)
if ((port->wwpn == wwpn) && !(atomic_read(&port->status) &
(ZFCP_STATUS_PORT_NO_WWPN | ZFCP_STATUS_COMMON_REMOVE)))
if ((port->wwpn == wwpn) &&
!(atomic_read(&port->status) & ZFCP_STATUS_COMMON_REMOVE))
return port;
return NULL;
}
Expand Down Expand Up @@ -620,11 +620,10 @@ struct zfcp_port *zfcp_port_enqueue(struct zfcp_adapter *adapter, u64 wwpn,
dev_set_drvdata(&port->sysfs_device, port);

read_lock_irq(&zfcp_data.config_lock);
if (!(status & ZFCP_STATUS_PORT_NO_WWPN))
if (zfcp_get_port_by_wwpn(adapter, wwpn)) {
read_unlock_irq(&zfcp_data.config_lock);
goto err_out_free;
}
if (zfcp_get_port_by_wwpn(adapter, wwpn)) {
read_unlock_irq(&zfcp_data.config_lock);
goto err_out_free;
}
read_unlock_irq(&zfcp_data.config_lock);

if (device_register(&port->sysfs_device))
Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/s390/scsi/zfcp_def.h
Original file line number Diff line number Diff line change
Expand Up @@ -243,9 +243,6 @@ struct zfcp_ls_adisc {

/* remote port status */
#define ZFCP_STATUS_PORT_PHYS_OPEN 0x00000001
#define ZFCP_STATUS_PORT_PHYS_CLOSING 0x00000004
#define ZFCP_STATUS_PORT_NO_WWPN 0x00000008
#define ZFCP_STATUS_PORT_INVALID_WWPN 0x00000020

/* well known address (WKA) port status*/
enum zfcp_wka_status {
Expand Down
16 changes: 2 additions & 14 deletions trunk/drivers/s390/scsi/zfcp_erp.c
Original file line number Diff line number Diff line change
Expand Up @@ -777,10 +777,7 @@ static int zfcp_erp_port_forced_strategy_close(struct zfcp_erp_action *act)

static void zfcp_erp_port_strategy_clearstati(struct zfcp_port *port)
{
atomic_clear_mask(ZFCP_STATUS_COMMON_ACCESS_DENIED |
ZFCP_STATUS_PORT_PHYS_CLOSING |
ZFCP_STATUS_PORT_INVALID_WWPN,
&port->status);
atomic_clear_mask(ZFCP_STATUS_COMMON_ACCESS_DENIED, &port->status);
}

static int zfcp_erp_port_forced_strategy(struct zfcp_erp_action *erp_action)
Expand Down Expand Up @@ -875,13 +872,8 @@ static int zfcp_erp_port_strategy_open_common(struct zfcp_erp_action *act)
return ZFCP_ERP_CONTINUES;
}
case ZFCP_ERP_STEP_NAMESERVER_LOOKUP:
if (!port->d_id) {
if (p_status & (ZFCP_STATUS_PORT_INVALID_WWPN)) {
zfcp_erp_port_failed(port, 26, NULL);
return ZFCP_ERP_EXIT;
}
if (!port->d_id)
return ZFCP_ERP_FAILED;
}
return zfcp_erp_port_strategy_open_port(act);

case ZFCP_ERP_STEP_PORT_OPENING:
Expand Down Expand Up @@ -1269,10 +1261,6 @@ static void zfcp_erp_action_cleanup(struct zfcp_erp_action *act, int result)

case ZFCP_ERP_ACTION_REOPEN_PORT_FORCED:
case ZFCP_ERP_ACTION_REOPEN_PORT:
if (atomic_read(&port->status) & ZFCP_STATUS_PORT_NO_WWPN) {
zfcp_port_put(port);
return;
}
if ((result == ZFCP_ERP_SUCCEEDED) && !port->rport)
zfcp_erp_rport_register(port);
if ((result != ZFCP_ERP_SUCCEEDED) && port->rport) {
Expand Down
5 changes: 2 additions & 3 deletions trunk/drivers/s390/scsi/zfcp_fc.c
Original file line number Diff line number Diff line change
Expand Up @@ -259,10 +259,9 @@ static void zfcp_fc_ns_gid_pn_eval(unsigned long data)

if (ct->status)
return;
if (ct_iu_resp->header.cmd_rsp_code != ZFCP_CT_ACCEPT) {
atomic_set_mask(ZFCP_STATUS_PORT_INVALID_WWPN, &port->status);
if (ct_iu_resp->header.cmd_rsp_code != ZFCP_CT_ACCEPT)
return;
}

/* paranoia */
if (ct_iu_req->wwpn != port->wwpn)
return;
Expand Down
6 changes: 1 addition & 5 deletions trunk/drivers/s390/scsi/zfcp_fsf.c
Original file line number Diff line number Diff line change
Expand Up @@ -1712,7 +1712,7 @@ static void zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *req)
struct zfcp_unit *unit;

if (req->status & ZFCP_STATUS_FSFREQ_ERROR)
goto skip_fsfstatus;
return;

switch (header->fsf_status) {
case FSF_PORT_HANDLE_NOT_VALID:
Expand Down Expand Up @@ -1752,8 +1752,6 @@ static void zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *req)
&unit->status);
break;
}
skip_fsfstatus:
atomic_clear_mask(ZFCP_STATUS_PORT_PHYS_CLOSING, &port->status);
}

/**
Expand Down Expand Up @@ -1789,8 +1787,6 @@ int zfcp_fsf_close_physical_port(struct zfcp_erp_action *erp_action)
req->erp_action = erp_action;
req->handler = zfcp_fsf_close_physical_port_handler;
erp_action->fsf_req = req;
atomic_set_mask(ZFCP_STATUS_PORT_PHYS_CLOSING,
&erp_action->port->status);

zfcp_fsf_start_erp_timer(req);
retval = zfcp_fsf_req_send(req);
Expand Down

0 comments on commit 489ae8d

Please sign in to comment.