* QLOGIC LINUX SOFTWARE
*
* QLogic ISP2x00 device driver for Linux 2.6.x
- * Copyright (C) 2003-2004 QLogic Corporation
+ * Copyright (C) 2003-2005 QLogic Corporation
* (www.qlogic.com)
*
* This program is free software; you can redistribute it and/or modify it
char *
qla24xx_fw_version_str(struct scsi_qla_host *ha, char *str)
{
+ sprintf(str, "%d.%02d.%02d ", ha->fw_major_version,
+ ha->fw_minor_version,
+ ha->fw_subminor_version);
+
if (ha->fw_attributes & BIT_0)
strcat(str, "[Class 2] ");
if (ha->fw_attributes & BIT_1)
if (ha->fw_attributes & BIT_13)
strcat(str, "[Experimental]");
return str;
-
}
static inline srb_t *
static int
qla2xxx_slave_alloc(struct scsi_device *sdev)
{
- scsi_qla_host_t *ha = to_qla_host(sdev->host);
struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
- fc_port_t *fcport;
- int found;
if (!rport)
return -ENXIO;
- found = 0;
- list_for_each_entry(fcport, &ha->fcports, list) {
- if (rport->port_name ==
- be64_to_cpu(*(uint64_t *)fcport->port_name)) {
- found++;
- break;
- }
- }
- if (!found)
- return -ENXIO;
-
- sdev->hostdata = fcport;
+ sdev->hostdata = rport->dd_data;
return 0;
}