aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorBrian King <brking@linux.vnet.ibm.com>2008-07-22 09:31:46 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-07-26 15:14:58 -0400
commit52d7e861cc071688f5fa3ee1b6e94785adeff8db (patch)
treec2055d400a73da08848db5ef09702a4467155147 /drivers/scsi
parent2d0da2a44e065a5bdd90bed2ebe0b9216c27f682 (diff)
[SCSI] ibmvfc: Miscellaneous fixes
Properly setup the size of the async event queue. This fixes a bug where async events were not getting processed by the driver. Setup target_id field in the driver's target struct so that target sysfs attributes work for multiple targets. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/ibmvscsi/ibmvfc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c
index f1e5fac1c1dd..1917acb9102e 100644
--- a/drivers/scsi/ibmvscsi/ibmvfc.c
+++ b/drivers/scsi/ibmvscsi/ibmvfc.c
@@ -1136,7 +1136,7 @@ static void ibmvfc_set_login_info(struct ibmvfc_host *vhost)
1136 login_info->max_cmds = max_requests + IBMVFC_NUM_INTERNAL_REQ; 1136 login_info->max_cmds = max_requests + IBMVFC_NUM_INTERNAL_REQ;
1137 login_info->capabilities = IBMVFC_CAN_MIGRATE; 1137 login_info->capabilities = IBMVFC_CAN_MIGRATE;
1138 login_info->async.va = vhost->async_crq.msg_token; 1138 login_info->async.va = vhost->async_crq.msg_token;
1139 login_info->async.len = vhost->async_crq.size; 1139 login_info->async.len = vhost->async_crq.size * sizeof(*vhost->async_crq.msgs);
1140 strncpy(login_info->partition_name, vhost->partition_name, IBMVFC_MAX_NAME); 1140 strncpy(login_info->partition_name, vhost->partition_name, IBMVFC_MAX_NAME);
1141 strncpy(login_info->device_name, 1141 strncpy(login_info->device_name,
1142 vhost->host->shost_gendev.bus_id, IBMVFC_MAX_NAME); 1142 vhost->host->shost_gendev.bus_id, IBMVFC_MAX_NAME);
@@ -3348,6 +3348,7 @@ static void ibmvfc_tgt_add_rport(struct ibmvfc_target *tgt)
3348 tgt_dbg(tgt, "rport add succeeded\n"); 3348 tgt_dbg(tgt, "rport add succeeded\n");
3349 rport->maxframe_size = tgt->service_parms.common.bb_rcv_sz & 0x0fff; 3349 rport->maxframe_size = tgt->service_parms.common.bb_rcv_sz & 0x0fff;
3350 rport->supported_classes = 0; 3350 rport->supported_classes = 0;
3351 tgt->target_id = rport->scsi_target_id;
3351 if (tgt->service_parms.class1_parms[0] & 0x80000000) 3352 if (tgt->service_parms.class1_parms[0] & 0x80000000)
3352 rport->supported_classes |= FC_COS_CLASS1; 3353 rport->supported_classes |= FC_COS_CLASS1;
3353 if (tgt->service_parms.class2_parms[0] & 0x80000000) 3354 if (tgt->service_parms.class2_parms[0] & 0x80000000)