Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 226841
b: refs/heads/master
c: f3a060c
h: refs/heads/master
i:
  226839: e05e9bf
v: v3
  • Loading branch information
Krishna Gudipati authored and James Bottomley committed Dec 21, 2010
1 parent 8002476 commit 97a0658
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 4 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: 4e78efefa3c083240bd47153ffa99642bfdc7811
refs/heads/master: f3a060ca57903daaf2f1a88c6c25832619b2a74f
25 changes: 24 additions & 1 deletion trunk/drivers/scsi/bfa/bfa_svc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1890,6 +1890,8 @@ bfa_fcport_sm_uninit(struct bfa_fcport_s *fcport,
/*
* Start event after IOC is configured and BFA is started.
*/
fcport->use_flash_cfg = BFA_TRUE;

if (bfa_fcport_send_enable(fcport)) {
bfa_trc(fcport->bfa, BFA_TRUE);
bfa_sm_set_state(fcport, bfa_fcport_sm_enabling);
Expand Down Expand Up @@ -2855,6 +2857,7 @@ bfa_fcport_send_enable(struct bfa_fcport_s *fcport)
m->port_cfg = fcport->cfg;
m->msgtag = fcport->msgtag;
m->port_cfg.maxfrsize = cpu_to_be16(fcport->cfg.maxfrsize);
m->use_flash_cfg = fcport->use_flash_cfg;
bfa_dma_be_addr_set(m->stats_dma_addr, fcport->stats_pa);
bfa_trc(fcport->bfa, m->stats_dma_addr.a32.addr_lo);
bfa_trc(fcport->bfa, m->stats_dma_addr.a32.addr_hi);
Expand Down Expand Up @@ -3251,8 +3254,28 @@ bfa_fcport_isr(struct bfa_s *bfa, struct bfi_msg_s *msg)

switch (msg->mhdr.msg_id) {
case BFI_FCPORT_I2H_ENABLE_RSP:
if (fcport->msgtag == i2hmsg.penable_rsp->msgtag)
if (fcport->msgtag == i2hmsg.penable_rsp->msgtag) {

if (fcport->use_flash_cfg) {
fcport->cfg = i2hmsg.penable_rsp->port_cfg;
fcport->cfg.maxfrsize =
cpu_to_be16(fcport->cfg.maxfrsize);
fcport->cfg.path_tov =
cpu_to_be16(fcport->cfg.path_tov);
fcport->cfg.q_depth =
cpu_to_be16(fcport->cfg.q_depth);

if (fcport->cfg.trunked)
fcport->trunk.attr.state =
BFA_TRUNK_OFFLINE;
else
fcport->trunk.attr.state =
BFA_TRUNK_DISABLED;
fcport->use_flash_cfg = BFA_FALSE;
}

bfa_sm_send_event(fcport, BFA_FCPORT_SM_FWRSP);
}
break;

case BFI_FCPORT_I2H_DISABLE_RSP:
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/scsi/bfa/bfa_svc.h
Original file line number Diff line number Diff line change
Expand Up @@ -444,6 +444,7 @@ struct bfa_fcport_s {
u8 myalpa; /* my ALPA in LOOP topology */
u8 rsvd[3];
struct bfa_port_cfg_s cfg; /* current port configuration */
bfa_boolean_t use_flash_cfg; /* get port cfg from flash */
struct bfa_qos_attr_s qos_attr; /* QoS Attributes */
struct bfa_qos_vc_attr_s qos_vc_attr; /* VC info from ELP */
struct bfa_reqq_wait_s reqq_wait;
Expand Down
6 changes: 4 additions & 2 deletions trunk/drivers/scsi/bfa/bfi_ms.h
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,8 @@ struct bfi_fcport_rsp_s {
struct bfi_mhdr_s mh; /* common msg header */
u8 status; /* port enable status */
u8 rsvd[3];
u32 msgtag; /* msgtag for reply */
struct bfa_port_cfg_s port_cfg;/* port configuration */
u32 msgtag; /* msgtag for reply */
};

/*
Expand All @@ -202,7 +203,8 @@ struct bfi_fcport_enable_req_s {
struct bfa_port_cfg_s port_cfg; /* port configuration */
union bfi_addr_u stats_dma_addr; /* DMA address for stats */
u32 msgtag; /* msgtag for reply */
u32 rsvd2;
u8 use_flash_cfg; /* get prot cfg from flash */
u8 rsvd2[3];
};

/*
Expand Down

0 comments on commit 97a0658

Please sign in to comment.