mirror of
https://github.com/SCST-project/scst.git
synced 2026-07-20 06:52:18 +00:00
Merge branch 'svn-trunk'
This commit is contained in:
+7
-7
@@ -2231,7 +2231,7 @@ qla2x00_get_fc_host_stats(struct Scsi_Host *shost)
|
||||
pfc_host_stat->fcp_output_megabytes = vha->qla_stats.output_bytes >> 20;
|
||||
|
||||
done_free:
|
||||
dma_pool_free(ha->s_dma_pool, stats, stats_dma);
|
||||
dma_pool_free(ha->s_dma_pool, stats, stats_dma);
|
||||
done:
|
||||
return pfc_host_stat;
|
||||
}
|
||||
@@ -2275,23 +2275,23 @@ qla2x00_get_host_port_state(struct Scsi_Host *shost)
|
||||
return;
|
||||
}
|
||||
|
||||
switch (atomic_read(&base_vha->loop_state)) {
|
||||
case LOOP_UPDATE:
|
||||
switch (atomic_read(&base_vha->loop_state)) {
|
||||
case LOOP_UPDATE:
|
||||
fc_host_port_state(shost) = FC_PORTSTATE_DIAGNOSTICS;
|
||||
break;
|
||||
case LOOP_DOWN:
|
||||
case LOOP_DOWN:
|
||||
if(test_bit(LOOP_RESYNC_NEEDED, &base_vha->dpc_flags))
|
||||
fc_host_port_state(shost) = FC_PORTSTATE_DIAGNOSTICS;
|
||||
else
|
||||
fc_host_port_state(shost) = FC_PORTSTATE_LINKDOWN;
|
||||
break;
|
||||
case LOOP_DEAD:
|
||||
case LOOP_DEAD:
|
||||
fc_host_port_state(shost) = FC_PORTSTATE_LINKDOWN;
|
||||
break;
|
||||
case LOOP_READY:
|
||||
case LOOP_READY:
|
||||
fc_host_port_state(shost) = FC_PORTSTATE_ONLINE;
|
||||
break;
|
||||
default:
|
||||
default:
|
||||
fc_host_port_state(shost) = FC_PORTSTATE_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
|
||||
+4
-4
@@ -61,7 +61,7 @@ static inline void bsg_job_done_backport(struct fc_bsg_job *job, int result,
|
||||
void
|
||||
qla2x00_bsg_job_done(void *data, void *ptr, int res)
|
||||
{
|
||||
srb_t *sp = (srb_t*)ptr;
|
||||
srb_t *sp = ptr;
|
||||
struct scsi_qla_host *vha = (scsi_qla_host_t *)data;
|
||||
#ifndef NEW_LIBFC_API
|
||||
struct fc_bsg_job *bsg_job = sp->u.bsg_job;
|
||||
@@ -78,7 +78,7 @@ qla2x00_bsg_job_done(void *data, void *ptr, int res)
|
||||
void
|
||||
qla2x00_bsg_sp_free(void *data, void *ptr)
|
||||
{
|
||||
srb_t *sp = (srb_t*)ptr;
|
||||
srb_t *sp = ptr;
|
||||
struct scsi_qla_host *vha = (scsi_qla_host_t *)data;
|
||||
#ifndef NEW_LIBFC_API
|
||||
struct fc_bsg_job *bsg_job = sp->u.bsg_job;
|
||||
@@ -341,7 +341,7 @@ qla2x00_process_els(struct bsg_job *bsg_job)
|
||||
if (bsg_job->request_payload.sg_cnt > 1 ||
|
||||
bsg_job->reply_payload.sg_cnt > 1) {
|
||||
ql_dbg(ql_dbg_user, vha, 0x7002,
|
||||
"Multiple SG's are not suppored for ELS requests, "
|
||||
"Multiple SG's are not supported for ELS requests, "
|
||||
"request_sg_cnt=%x reply_sg_cnt=%x.\n",
|
||||
bsg_job->request_payload.sg_cnt,
|
||||
bsg_job->reply_payload.sg_cnt);
|
||||
@@ -814,7 +814,7 @@ qla2x00_process_loopback(struct bsg_job *bsg_job)
|
||||
"BSG request type: %s.\n", type);
|
||||
command_sent = INT_DEF_LB_ECHO_CMD;
|
||||
rval = qla2x00_echo_test(vha, &elreq, response);
|
||||
} else {
|
||||
} else {
|
||||
if (IS_QLA81XX(ha) || IS_QLA8031(ha)) {
|
||||
memset(config, 0, sizeof(config));
|
||||
memset(new_config, 0, sizeof(new_config));
|
||||
|
||||
+4
-4
@@ -809,12 +809,12 @@ qla2100_fw_dump(scsi_qla_host_t *vha, int hardware_locked)
|
||||
if (rval == QLA_SUCCESS) {
|
||||
/* Get RISC SRAM. */
|
||||
risc_address = 0x1000;
|
||||
WRT_MAILBOX_REG(ha, reg, 0, MBC_READ_RAM_WORD);
|
||||
WRT_MAILBOX_REG(ha, reg, 0, MBC_READ_RAM_WORD);
|
||||
clear_bit(MBX_INTERRUPT, &ha->mbx_cmd_flags);
|
||||
}
|
||||
for (cnt = 0; cnt < sizeof(fw->risc_ram) / 2 && rval == QLA_SUCCESS;
|
||||
cnt++, risc_address++) {
|
||||
WRT_MAILBOX_REG(ha, reg, 1, risc_address);
|
||||
WRT_MAILBOX_REG(ha, reg, 1, risc_address);
|
||||
WRT_REG_WORD(®->hccr, HCCR_SET_HOST_INT);
|
||||
|
||||
for (timer = 6000000; timer != 0; timer--) {
|
||||
@@ -2280,7 +2280,7 @@ ql_dbg(uint32_t level, scsi_qla_host_t *vha, int32_t id, const char *fmt, ...)
|
||||
|
||||
/*
|
||||
* This function is for formatting and logging debug information.
|
||||
* It is to be used when vha is not available and pci is availble,
|
||||
* It is to be used when vha is not available and pci is available,
|
||||
* i.e., before host allocation. It formats the message and logs it
|
||||
* to the messages file.
|
||||
* parameters:
|
||||
@@ -2369,7 +2369,7 @@ ql_log(uint32_t level, scsi_qla_host_t *vha, int32_t id, const char *fmt, ...)
|
||||
|
||||
/*
|
||||
* This function is for formatting and logging log messages.
|
||||
* It is to be used when vha is not available and pci is availble,
|
||||
* It is to be used when vha is not available and pci is available,
|
||||
* i.e., before host allocation. It formats the message and logs
|
||||
* it to the messages file. All the messages are logged irrespective
|
||||
* of the value of ql2xextended_error_logging.
|
||||
|
||||
+2
-2
@@ -2175,7 +2175,7 @@ struct ct_sns_pkt {
|
||||
};
|
||||
|
||||
/*
|
||||
* SNS command structures -- for 2200 compatability.
|
||||
* SNS command structures -- for 2200 compatibility.
|
||||
*/
|
||||
#define RFT_ID_SNS_SCMD_LEN 22
|
||||
#define RFT_ID_SNS_CMD_SIZE 60
|
||||
@@ -3093,7 +3093,7 @@ typedef struct scsi_qla_host {
|
||||
* Processing Q2T tgt reference. NULL on not enabled targets. Protected
|
||||
* by tgt_mutex AND hardware_lock for writing and tgt_mutex OR
|
||||
* hardware_lock for reading.
|
||||
*/
|
||||
*/
|
||||
struct q2t_tgt *tgt;
|
||||
|
||||
uint16_t current_handle;
|
||||
|
||||
+20
-20
@@ -1143,7 +1143,7 @@ struct mid_db_entry_24xx {
|
||||
/*
|
||||
* Virtual Port Control IOCB
|
||||
*/
|
||||
#define VP_CTRL_IOCB_TYPE 0x30 /* Vitual Port Control entry. */
|
||||
#define VP_CTRL_IOCB_TYPE 0x30 /* Virtual Port Control entry. */
|
||||
struct vp_ctrl_entry_24xx {
|
||||
uint8_t entry_type; /* Entry type. */
|
||||
uint8_t entry_count; /* Entry count. */
|
||||
@@ -1179,7 +1179,7 @@ struct vp_ctrl_entry_24xx {
|
||||
/*
|
||||
* Modify Virtual Port Configuration IOCB
|
||||
*/
|
||||
#define VP_CONFIG_IOCB_TYPE 0x31 /* Vitual Port Config entry. */
|
||||
#define VP_CONFIG_IOCB_TYPE 0x31 /* Virtual Port Config entry. */
|
||||
struct vp_config_entry_24xx {
|
||||
uint8_t entry_type; /* Entry type. */
|
||||
uint8_t entry_count; /* Entry count. */
|
||||
@@ -1250,27 +1250,27 @@ struct vp_rpt_id_entry_24xx {
|
||||
|
||||
#define VF_EVFP_IOCB_TYPE 0x26 /* Exchange Virtual Fabric Parameters entry. */
|
||||
struct vf_evfp_entry_24xx {
|
||||
uint8_t entry_type; /* Entry type. */
|
||||
uint8_t entry_count; /* Entry count. */
|
||||
uint8_t sys_define; /* System defined. */
|
||||
uint8_t entry_status; /* Entry Status. */
|
||||
uint8_t entry_type; /* Entry type. */
|
||||
uint8_t entry_count; /* Entry count. */
|
||||
uint8_t sys_define; /* System defined. */
|
||||
uint8_t entry_status; /* Entry Status. */
|
||||
|
||||
uint32_t handle; /* System handle. */
|
||||
uint16_t comp_status; /* Completion status. */
|
||||
uint16_t timeout; /* timeout */
|
||||
uint16_t adim_tagging_mode;
|
||||
uint32_t handle; /* System handle. */
|
||||
uint16_t comp_status; /* Completion status. */
|
||||
uint16_t timeout; /* timeout */
|
||||
uint16_t adim_tagging_mode;
|
||||
|
||||
uint16_t vfport_id;
|
||||
uint32_t exch_addr;
|
||||
uint16_t vfport_id;
|
||||
uint32_t exch_addr;
|
||||
|
||||
uint16_t nport_handle; /* N_PORT handle. */
|
||||
uint16_t control_flags;
|
||||
uint32_t io_parameter_0;
|
||||
uint32_t io_parameter_1;
|
||||
uint32_t tx_address[2]; /* Data segment 0 address. */
|
||||
uint32_t tx_len; /* Data segment 0 length. */
|
||||
uint32_t rx_address[2]; /* Data segment 1 address. */
|
||||
uint32_t rx_len; /* Data segment 1 length. */
|
||||
uint16_t nport_handle; /* N_PORT handle. */
|
||||
uint16_t control_flags;
|
||||
uint32_t io_parameter_0;
|
||||
uint32_t io_parameter_1;
|
||||
uint32_t tx_address[2]; /* Data segment 0 address. */
|
||||
uint32_t tx_len; /* Data segment 0 length. */
|
||||
uint32_t rx_address[2]; /* Data segment 1 address. */
|
||||
uint32_t rx_len; /* Data segment 1 length. */
|
||||
};
|
||||
|
||||
/* END MID Support ***********************************************************/
|
||||
|
||||
+2
-2
@@ -75,7 +75,7 @@ extern void qla2x00_async_login_done(struct scsi_qla_host *, fc_port_t *,
|
||||
extern void qla2x00_async_logout_done(struct scsi_qla_host *, fc_port_t *,
|
||||
uint16_t *);
|
||||
extern void qla2x00_async_adisc_done(struct scsi_qla_host *, fc_port_t *,
|
||||
uint16_t *);
|
||||
uint16_t *);
|
||||
extern void *qla2x00_alloc_iocbs(struct scsi_qla_host *, srb_t *);
|
||||
|
||||
extern fc_port_t *
|
||||
@@ -401,7 +401,7 @@ extern int qla2x00_request_irqs(struct qla_hw_data *, struct rsp_que *);
|
||||
extern void qla2x00_free_irqs(scsi_qla_host_t *);
|
||||
|
||||
extern int qla2x00_get_data_rate(scsi_qla_host_t *);
|
||||
extern char* qla2x00_get_link_speed_str(struct qla_hw_data *);
|
||||
extern char *qla2x00_get_link_speed_str(struct qla_hw_data *);
|
||||
|
||||
/*
|
||||
* Global Function Prototypes in qla_sup.c source file.
|
||||
|
||||
+6
-6
@@ -122,7 +122,7 @@ qla2x00_async_iocb_timeout(void *data)
|
||||
static void
|
||||
qla2x00_async_login_sp_done(void *data, void *ptr, int res)
|
||||
{
|
||||
srb_t *sp = (srb_t*)ptr;
|
||||
srb_t *sp = ptr;
|
||||
struct srb_iocb *lio = &sp->u.iocb_cmd;
|
||||
struct scsi_qla_host *vha = (scsi_qla_host_t *)data;
|
||||
|
||||
@@ -272,7 +272,7 @@ done:
|
||||
static void
|
||||
qla2x00_async_tm_cmd_done(void *data, void *ptr, int res)
|
||||
{
|
||||
srb_t *sp = (srb_t*)ptr;
|
||||
srb_t *sp = ptr;
|
||||
struct srb_iocb *iocb = &sp->u.iocb_cmd;
|
||||
struct scsi_qla_host *vha = (scsi_qla_host_t *)data;
|
||||
uint32_t flags;
|
||||
@@ -947,7 +947,7 @@ qla24xx_reset_risc(scsi_qla_host_t *vha)
|
||||
struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
|
||||
uint32_t cnt, d2;
|
||||
uint16_t wd;
|
||||
static int abts_cnt = 0; /* ISP abort retry counts */
|
||||
static int abts_cnt; /* ISP abort retry counts */
|
||||
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
|
||||
@@ -1782,7 +1782,7 @@ qla24xx_config_rings(struct scsi_qla_host *vha)
|
||||
if (IS_ATIO_MSIX_CAPABLE(ha)) {
|
||||
msix = &ha->msix_entries[2];
|
||||
icb->msix_atio = cpu_to_le16(msix->entry);
|
||||
ql_dbg(ql_dbg_init, vha, 0xffff,
|
||||
ql_dbg(ql_dbg_init, vha, 0xffff,
|
||||
"Registering ICB vector 0x%x for atio que.\n",
|
||||
msix->entry);
|
||||
}
|
||||
@@ -4832,7 +4832,7 @@ qla2x00_load_risc(scsi_qla_host_t *vha, uint32_t *srisc_addr)
|
||||
blob = qla2x00_request_firmware(vha);
|
||||
if (!blob) {
|
||||
ql_log(ql_log_info, vha, 0x0083,
|
||||
"Fimware image unavailable.\n");
|
||||
"Firmware image unavailable.\n");
|
||||
ql_log(ql_log_info, vha, 0x0084,
|
||||
"Firmware images can be retrieved from: "QLA_FW_URL ".\n");
|
||||
return QLA_FUNCTION_FAILED;
|
||||
@@ -5053,7 +5053,7 @@ qla24xx_load_risc_blob(scsi_qla_host_t *vha, uint32_t *srisc_addr)
|
||||
blob = qla2x00_request_firmware(vha);
|
||||
if (!blob) {
|
||||
ql_log(ql_log_warn, vha, 0x0090,
|
||||
"Fimware image unavailable.\n");
|
||||
"Firmware image unavailable.\n");
|
||||
ql_log(ql_log_warn, vha, 0x0091,
|
||||
"Firmware images can be retrieved from: "
|
||||
QLA_FW_URL ".\n");
|
||||
|
||||
@@ -63,14 +63,14 @@ qla2x00_poll(struct rsp_que *rsp)
|
||||
static inline uint8_t *
|
||||
host_to_fcp_swap(uint8_t *fcp, uint32_t bsize)
|
||||
{
|
||||
uint32_t *ifcp = (uint32_t *) fcp;
|
||||
uint32_t *ofcp = (uint32_t *) fcp;
|
||||
uint32_t iter = bsize >> 2;
|
||||
uint32_t *ifcp = (uint32_t *) fcp;
|
||||
uint32_t *ofcp = (uint32_t *) fcp;
|
||||
uint32_t iter = bsize >> 2;
|
||||
|
||||
for (; iter ; iter--)
|
||||
*ofcp++ = swab32(*ifcp++);
|
||||
for (; iter ; iter--)
|
||||
*ofcp++ = swab32(*ifcp++);
|
||||
|
||||
return fcp;
|
||||
return fcp;
|
||||
}
|
||||
|
||||
static inline int
|
||||
|
||||
+50
-50
@@ -1913,7 +1913,7 @@ qla2x00_alloc_iocbs(scsi_qla_host_t *vha, srb_t *sp)
|
||||
}
|
||||
if (index == MAX_OUTSTANDING_COMMANDS) {
|
||||
ql_log(ql_log_warn, vha, 0x700b,
|
||||
"No room on oustanding cmd array.\n");
|
||||
"No room on outstanding cmd array.\n");
|
||||
goto queuing_error;
|
||||
}
|
||||
|
||||
@@ -2106,16 +2106,16 @@ qla24xx_els_iocb(srb_t *sp, struct els_entry_24xx *els_iocb)
|
||||
struct fc_bsg_request *bsg_request = bsg_job->request;
|
||||
#endif
|
||||
|
||||
els_iocb->entry_type = ELS_IOCB_TYPE;
|
||||
els_iocb->entry_count = 1;
|
||||
els_iocb->sys_define = 0;
|
||||
els_iocb->entry_status = 0;
|
||||
els_iocb->handle = sp->handle;
|
||||
els_iocb->nport_handle = cpu_to_le16(sp->fcport->loop_id);
|
||||
els_iocb->tx_dsd_count = cpu_to_le16(bsg_job->request_payload.sg_cnt);
|
||||
els_iocb->entry_type = ELS_IOCB_TYPE;
|
||||
els_iocb->entry_count = 1;
|
||||
els_iocb->sys_define = 0;
|
||||
els_iocb->entry_status = 0;
|
||||
els_iocb->handle = sp->handle;
|
||||
els_iocb->nport_handle = cpu_to_le16(sp->fcport->loop_id);
|
||||
els_iocb->tx_dsd_count = cpu_to_le16(bsg_job->request_payload.sg_cnt);
|
||||
els_iocb->vp_index = sp->fcport->vha->vp_idx;
|
||||
els_iocb->sof_type = EST_SOFI3;
|
||||
els_iocb->rx_dsd_count = cpu_to_le16(bsg_job->reply_payload.sg_cnt);
|
||||
els_iocb->sof_type = EST_SOFI3;
|
||||
els_iocb->rx_dsd_count = cpu_to_le16(bsg_job->reply_payload.sg_cnt);
|
||||
|
||||
els_iocb->opcode =
|
||||
sp->type == SRB_ELS_CMD_RPT ?
|
||||
@@ -2126,28 +2126,28 @@ qla24xx_els_iocb(srb_t *sp, struct els_entry_24xx *els_iocb)
|
||||
bsg_request->rqst_data.r_els.els_code :
|
||||
bsg_request->rqst_data.h_els.command_code;
|
||||
#endif
|
||||
els_iocb->port_id[0] = sp->fcport->d_id.b.al_pa;
|
||||
els_iocb->port_id[1] = sp->fcport->d_id.b.area;
|
||||
els_iocb->port_id[2] = sp->fcport->d_id.b.domain;
|
||||
els_iocb->control_flags = 0;
|
||||
els_iocb->rx_byte_count =
|
||||
cpu_to_le32(bsg_job->reply_payload.payload_len);
|
||||
els_iocb->tx_byte_count =
|
||||
cpu_to_le32(bsg_job->request_payload.payload_len);
|
||||
els_iocb->port_id[0] = sp->fcport->d_id.b.al_pa;
|
||||
els_iocb->port_id[1] = sp->fcport->d_id.b.area;
|
||||
els_iocb->port_id[2] = sp->fcport->d_id.b.domain;
|
||||
els_iocb->control_flags = 0;
|
||||
els_iocb->rx_byte_count =
|
||||
cpu_to_le32(bsg_job->reply_payload.payload_len);
|
||||
els_iocb->tx_byte_count =
|
||||
cpu_to_le32(bsg_job->request_payload.payload_len);
|
||||
|
||||
els_iocb->tx_address[0] = cpu_to_le32(LSD(sg_dma_address
|
||||
(bsg_job->request_payload.sg_list)));
|
||||
els_iocb->tx_address[1] = cpu_to_le32(MSD(sg_dma_address
|
||||
(bsg_job->request_payload.sg_list)));
|
||||
els_iocb->tx_len = cpu_to_le32(sg_dma_len
|
||||
(bsg_job->request_payload.sg_list));
|
||||
els_iocb->tx_address[0] = cpu_to_le32(LSD(sg_dma_address
|
||||
(bsg_job->request_payload.sg_list)));
|
||||
els_iocb->tx_address[1] = cpu_to_le32(MSD(sg_dma_address
|
||||
(bsg_job->request_payload.sg_list)));
|
||||
els_iocb->tx_len = cpu_to_le32(sg_dma_len
|
||||
(bsg_job->request_payload.sg_list));
|
||||
|
||||
els_iocb->rx_address[0] = cpu_to_le32(LSD(sg_dma_address
|
||||
(bsg_job->reply_payload.sg_list)));
|
||||
els_iocb->rx_address[1] = cpu_to_le32(MSD(sg_dma_address
|
||||
(bsg_job->reply_payload.sg_list)));
|
||||
els_iocb->rx_len = cpu_to_le32(sg_dma_len
|
||||
(bsg_job->reply_payload.sg_list));
|
||||
els_iocb->rx_address[0] = cpu_to_le32(LSD(sg_dma_address
|
||||
(bsg_job->reply_payload.sg_list)));
|
||||
els_iocb->rx_address[1] = cpu_to_le32(MSD(sg_dma_address
|
||||
(bsg_job->reply_payload.sg_list)));
|
||||
els_iocb->rx_len = cpu_to_le32(sg_dma_len
|
||||
(bsg_job->reply_payload.sg_list));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -2237,7 +2237,7 @@ qla24xx_ct_iocb(srb_t *sp, struct ct_entry_24xx *ct_iocb)
|
||||
struct scatterlist *sg;
|
||||
int index;
|
||||
uint16_t tot_dsds;
|
||||
scsi_qla_host_t *vha = sp->fcport->vha;
|
||||
scsi_qla_host_t *vha = sp->fcport->vha;
|
||||
struct qla_hw_data *ha = vha->hw;
|
||||
#ifndef NEW_LIBFC_API
|
||||
struct fc_bsg_job *bsg_job = sp->u.bsg_job;
|
||||
@@ -2248,29 +2248,29 @@ qla24xx_ct_iocb(srb_t *sp, struct ct_entry_24xx *ct_iocb)
|
||||
int entry_count = 1;
|
||||
|
||||
ct_iocb->entry_type = CT_IOCB_TYPE;
|
||||
ct_iocb->entry_status = 0;
|
||||
ct_iocb->sys_define = 0;
|
||||
ct_iocb->handle = sp->handle;
|
||||
ct_iocb->entry_status = 0;
|
||||
ct_iocb->sys_define = 0;
|
||||
ct_iocb->handle = sp->handle;
|
||||
|
||||
ct_iocb->nport_handle = cpu_to_le16(sp->fcport->loop_id);
|
||||
ct_iocb->vp_index = sp->fcport->vha->vp_idx;
|
||||
ct_iocb->comp_status = cpu_to_le16(0);
|
||||
ct_iocb->comp_status = cpu_to_le16(0);
|
||||
|
||||
ct_iocb->cmd_dsd_count =
|
||||
cpu_to_le16(bsg_job->request_payload.sg_cnt);
|
||||
ct_iocb->timeout = 0;
|
||||
ct_iocb->rsp_dsd_count =
|
||||
cpu_to_le16(bsg_job->reply_payload.sg_cnt);
|
||||
ct_iocb->rsp_byte_count =
|
||||
cpu_to_le32(bsg_job->reply_payload.payload_len);
|
||||
ct_iocb->cmd_byte_count =
|
||||
cpu_to_le32(bsg_job->request_payload.payload_len);
|
||||
ct_iocb->dseg_0_address[0] = cpu_to_le32(LSD(sg_dma_address
|
||||
(bsg_job->request_payload.sg_list)));
|
||||
ct_iocb->dseg_0_address[1] = cpu_to_le32(MSD(sg_dma_address
|
||||
(bsg_job->request_payload.sg_list)));
|
||||
ct_iocb->dseg_0_len = cpu_to_le32(sg_dma_len
|
||||
(bsg_job->request_payload.sg_list));
|
||||
cpu_to_le16(bsg_job->request_payload.sg_cnt);
|
||||
ct_iocb->timeout = 0;
|
||||
ct_iocb->rsp_dsd_count =
|
||||
cpu_to_le16(bsg_job->reply_payload.sg_cnt);
|
||||
ct_iocb->rsp_byte_count =
|
||||
cpu_to_le32(bsg_job->reply_payload.payload_len);
|
||||
ct_iocb->cmd_byte_count =
|
||||
cpu_to_le32(bsg_job->request_payload.payload_len);
|
||||
ct_iocb->dseg_0_address[0] = cpu_to_le32(LSD(sg_dma_address
|
||||
(bsg_job->request_payload.sg_list)));
|
||||
ct_iocb->dseg_0_address[1] = cpu_to_le32(MSD(sg_dma_address
|
||||
(bsg_job->request_payload.sg_list)));
|
||||
ct_iocb->dseg_0_len = cpu_to_le32(sg_dma_len
|
||||
(bsg_job->request_payload.sg_list));
|
||||
|
||||
avail_dsds = 1;
|
||||
cur_dsd = (uint32_t *)ct_iocb->dseg_1_address;
|
||||
@@ -2301,7 +2301,7 @@ qla24xx_ct_iocb(srb_t *sp, struct ct_entry_24xx *ct_iocb)
|
||||
loop_iterartion++;
|
||||
avail_dsds--;
|
||||
}
|
||||
ct_iocb->entry_count = entry_count;
|
||||
ct_iocb->entry_count = entry_count;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
+9
-9
@@ -305,7 +305,7 @@ qla81xx_idc_event(scsi_qla_host_t *vha, uint16_t aen, uint16_t descr)
|
||||
event[aen & 0xff], mb[0], mb[1], mb[2], mb[3],
|
||||
mb[4], mb[5], mb[6]);
|
||||
|
||||
/* Acknowledgement needed? [Notify && non-zero timeout]. */
|
||||
/* Acknowledgment needed? [Notify && non-zero timeout]. */
|
||||
timeout = (descr >> 8) & 0xf;
|
||||
if (aen != MBA_IDC_NOTIFY || !timeout)
|
||||
return;
|
||||
@@ -1174,7 +1174,7 @@ qla24xx_els_ct_entry(scsi_qla_host_t *vha, struct req_que *req,
|
||||
#endif
|
||||
uint16_t comp_status;
|
||||
uint32_t fw_status[3];
|
||||
uint8_t* fw_sts_ptr;
|
||||
uint8_t *fw_sts_ptr;
|
||||
|
||||
sp = qla2x00_get_sp_from_handle(vha, func, req, pkt);
|
||||
if (!sp)
|
||||
@@ -1200,8 +1200,8 @@ qla24xx_els_ct_entry(scsi_qla_host_t *vha, struct req_que *req,
|
||||
}
|
||||
|
||||
comp_status = fw_status[0] = le16_to_cpu(pkt->comp_status);
|
||||
fw_status[1] = le16_to_cpu(((struct els_sts_entry_24xx*)pkt)->error_subcode_1);
|
||||
fw_status[2] = le16_to_cpu(((struct els_sts_entry_24xx*)pkt)->error_subcode_2);
|
||||
fw_status[1] = le16_to_cpu(((struct els_sts_entry_24xx *)pkt)->error_subcode_1);
|
||||
fw_status[2] = le16_to_cpu(((struct els_sts_entry_24xx *)pkt)->error_subcode_2);
|
||||
|
||||
/* return FC_CTELS_STATUS_OK and leave the decoding of the ELS/CT
|
||||
* fc payload to the caller
|
||||
@@ -1220,7 +1220,7 @@ qla24xx_els_ct_entry(scsi_qla_host_t *vha, struct req_que *req,
|
||||
#else
|
||||
bsg_reply->reply_payload_rcv_len =
|
||||
#endif
|
||||
le16_to_cpu(((struct els_sts_entry_24xx*)pkt)->total_byte_count);
|
||||
le16_to_cpu(((struct els_sts_entry_24xx *)pkt)->total_byte_count);
|
||||
|
||||
ql_dbg(ql_dbg_user, vha, 0x503f,
|
||||
"ELS-CT pass-through-%s error hdl=%x comp_status-status=0x%x "
|
||||
@@ -1230,7 +1230,7 @@ qla24xx_els_ct_entry(scsi_qla_host_t *vha, struct req_que *req,
|
||||
pkt)->total_byte_count));
|
||||
fw_sts_ptr = bsg_job_sense(bsg_job) +
|
||||
sizeof(struct fc_bsg_reply);
|
||||
memcpy( fw_sts_ptr, fw_status, sizeof(fw_status));
|
||||
memcpy(fw_sts_ptr, fw_status, sizeof(fw_status));
|
||||
}
|
||||
else {
|
||||
ql_dbg(ql_dbg_user, vha, 0x5040,
|
||||
@@ -1248,7 +1248,7 @@ qla24xx_els_ct_entry(scsi_qla_host_t *vha, struct req_que *req,
|
||||
#endif
|
||||
fw_sts_ptr = bsg_job_sense(bsg_job) +
|
||||
sizeof(struct fc_bsg_reply);
|
||||
memcpy( fw_sts_ptr, fw_status, sizeof(fw_status));
|
||||
memcpy(fw_sts_ptr, fw_status, sizeof(fw_status));
|
||||
}
|
||||
ql_dump_buffer(ql_dbg_user + ql_dbg_buffer, vha, 0x5056,
|
||||
(uint8_t *)pkt, sizeof(*pkt));
|
||||
@@ -2269,10 +2269,10 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha,
|
||||
qla24xx_tm_iocb_entry(vha, rsp->req,
|
||||
(struct tsk_mgmt_entry *)pkt);
|
||||
break;
|
||||
case CT_IOCB_TYPE:
|
||||
case CT_IOCB_TYPE:
|
||||
qla24xx_els_ct_entry(vha, rsp->req, pkt, CT_IOCB_TYPE);
|
||||
break;
|
||||
case ELS_IOCB_TYPE:
|
||||
case ELS_IOCB_TYPE:
|
||||
qla24xx_els_ct_entry(vha, rsp->req, pkt, ELS_IOCB_TYPE);
|
||||
break;
|
||||
case MARKER_TYPE:
|
||||
|
||||
+18
-18
@@ -2093,28 +2093,28 @@ qla2x00_login_local_device(scsi_qla_host_t *vha, fc_port_t *fcport,
|
||||
mcp->mb[1] = fcport->loop_id << 8;
|
||||
mcp->mb[2] = opt;
|
||||
mcp->out_mb = MBX_2|MBX_1|MBX_0;
|
||||
mcp->in_mb = MBX_7|MBX_6|MBX_1|MBX_0;
|
||||
mcp->in_mb = MBX_7|MBX_6|MBX_1|MBX_0;
|
||||
mcp->tov = (ha->login_timeout * 2) + (ha->login_timeout / 2);
|
||||
mcp->flags = 0;
|
||||
rval = qla2x00_mailbox_command(vha, mcp);
|
||||
|
||||
/* Return mailbox statuses. */
|
||||
if (mb_ret != NULL) {
|
||||
mb_ret[0] = mcp->mb[0];
|
||||
mb_ret[1] = mcp->mb[1];
|
||||
mb_ret[6] = mcp->mb[6];
|
||||
mb_ret[7] = mcp->mb[7];
|
||||
}
|
||||
/* Return mailbox statuses. */
|
||||
if (mb_ret != NULL) {
|
||||
mb_ret[0] = mcp->mb[0];
|
||||
mb_ret[1] = mcp->mb[1];
|
||||
mb_ret[6] = mcp->mb[6];
|
||||
mb_ret[7] = mcp->mb[7];
|
||||
}
|
||||
|
||||
if (rval != QLA_SUCCESS) {
|
||||
/* AV tmp code: need to change main mailbox_command function to
|
||||
* return ok even when the mailbox completion value is not
|
||||
* SUCCESS. The caller needs to be responsible to interpret
|
||||
* the return values of this mailbox command if we're not
|
||||
* to change too much of the existing code.
|
||||
*/
|
||||
if (mcp->mb[0] == 0x4005 || mcp->mb[0] == 0x4006)
|
||||
rval = QLA_SUCCESS;
|
||||
/* AV tmp code: need to change main mailbox_command function to
|
||||
* return ok even when the mailbox completion value is not
|
||||
* SUCCESS. The caller needs to be responsible to interpret
|
||||
* the return values of this mailbox command if we're not
|
||||
* to change too much of the existing code.
|
||||
*/
|
||||
if (mcp->mb[0] == 0x4005 || mcp->mb[0] == 0x4006)
|
||||
rval = QLA_SUCCESS;
|
||||
|
||||
ql_dbg(ql_dbg_mbx, vha, 0x106b,
|
||||
"Failed=%x mb[0]=%x mb[1]=%x mb[6]=%x mb[7]=%x.\n",
|
||||
@@ -4274,7 +4274,7 @@ qla2x00_echo_test(scsi_qla_host_t *vha, struct msg_echo_lb *mreq, uint16_t *mres
|
||||
}
|
||||
|
||||
/* Copy mailbox information */
|
||||
memcpy( mresp, mcp->mb, 64);
|
||||
memcpy(mresp, mcp->mb, 64);
|
||||
return rval;
|
||||
}
|
||||
|
||||
@@ -4759,7 +4759,7 @@ qla83xx_configure_vfs(scsi_qla_host_t *vha)
|
||||
ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x112c,
|
||||
"Done %s.\n", __func__);
|
||||
|
||||
dma_free_coherent(&ha->pdev->dev, vf_cfgblk_size, buf, buf_dma);
|
||||
dma_free_coherent(&ha->pdev->dev, vf_cfgblk_size, buf, buf_dma);
|
||||
return rval;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -701,7 +701,7 @@ qla25xx_create_req_que(struct qla_hw_data *ha, uint16_t options,
|
||||
&req->dma, GFP_KERNEL);
|
||||
if (req->ring == NULL) {
|
||||
ql_log(ql_log_fatal, base_vha, 0x00da,
|
||||
"Failed to allocte memory for request_ring.\n");
|
||||
"Failed to allocate memory for request_ring.\n");
|
||||
goto que_failed;
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -1283,7 +1283,7 @@ qla82xx_pinit_from_rom(scsi_qla_host_t *vha)
|
||||
|
||||
if (off == ADDR_ERROR) {
|
||||
ql_log(ql_log_fatal, vha, 0x0116,
|
||||
"Unknow addr: 0x%08lx.\n", buf[i].addr);
|
||||
"Unknown addr: 0x%08lx.\n", buf[i].addr);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -1898,7 +1898,7 @@ qla82xx_validate_firmware_blob(scsi_qla_host_t *vha, uint8_t fw_type)
|
||||
|
||||
if (fw->size < min_size)
|
||||
return -EINVAL;
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -4009,7 +4009,7 @@ qla82xx_minidump_process_rdmem(scsi_qla_host_t *vha,
|
||||
|
||||
if (r_addr & 0xf) {
|
||||
ql_log(ql_log_warn, vha, 0xb033,
|
||||
"Read addr 0x%x not 16 bytes alligned\n", r_addr);
|
||||
"Read addr 0x%x not 16 bytes aligned\n", r_addr);
|
||||
return rval;
|
||||
}
|
||||
|
||||
|
||||
+19
-19
@@ -92,7 +92,7 @@ MODULE_PARM_DESC(ql2xplogiabsentdevice,
|
||||
"a Fabric scan. This is needed for several broken switches. "
|
||||
"Default is 0 - no PLOGI. 1 - perfom PLOGI.");
|
||||
|
||||
int ql2xloginretrycount = 0;
|
||||
int ql2xloginretrycount;
|
||||
module_param(ql2xloginretrycount, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(ql2xloginretrycount,
|
||||
"Specify an alternate value for the NVRAM login retry count.");
|
||||
@@ -143,7 +143,7 @@ MODULE_PARM_DESC(ql2xmaxqdepth,
|
||||
"Maximum queue depth to report for target devices.");
|
||||
|
||||
/* Do not change the value of this after module load */
|
||||
int ql2xenabledif = 0;
|
||||
int ql2xenabledif;
|
||||
module_param(ql2xenabledif, int, S_IRUGO|S_IWUSR);
|
||||
MODULE_PARM_DESC(ql2xenabledif,
|
||||
" Enable T10-CRC-DIF "
|
||||
@@ -220,7 +220,7 @@ MODULE_PARM_DESC(ql2xtargetreset,
|
||||
"Enable target reset."
|
||||
"Default is 1 - use hw defaults.");
|
||||
|
||||
int ql2xgffidenable = 0;
|
||||
int ql2xgffidenable;
|
||||
module_param(ql2xgffidenable, int, S_IRUGO);
|
||||
MODULE_PARM_DESC(ql2xgffidenable,
|
||||
"Enables GFF_ID checks of port type. "
|
||||
@@ -672,7 +672,7 @@ static void
|
||||
qla2x00_sp_compl(void *data, void *ptr, int res)
|
||||
{
|
||||
struct qla_hw_data *ha = (struct qla_hw_data *)data;
|
||||
srb_t *sp = (srb_t*)ptr;
|
||||
srb_t *sp = ptr;
|
||||
struct scsi_cmnd *cmd = GET_CMD_SP(sp);
|
||||
|
||||
cmd->result = res;
|
||||
@@ -2968,21 +2968,21 @@ qla2x00_shutdown(struct pci_dev *pdev)
|
||||
static void
|
||||
qla2x00_stop_dpc_thread(struct qla_hw_data *ha)
|
||||
{
|
||||
struct task_struct *t = NULL;
|
||||
struct task_struct *t = NULL;
|
||||
|
||||
spin_lock_irq(&ha->dpc_lock);
|
||||
if (ha->dpc_thread != NULL) {
|
||||
t = ha->dpc_thread;
|
||||
/*
|
||||
* qla2xxx_wake_dpc checks for ->dpc_thread
|
||||
* so we need to zero it out.
|
||||
*/
|
||||
ha->dpc_thread = NULL;
|
||||
}
|
||||
spin_unlock_irq(&ha->dpc_lock);
|
||||
spin_lock_irq(&ha->dpc_lock);
|
||||
if (ha->dpc_thread != NULL) {
|
||||
t = ha->dpc_thread;
|
||||
/*
|
||||
* qla2xxx_wake_dpc checks for ->dpc_thread
|
||||
* so we need to zero it out.
|
||||
*/
|
||||
ha->dpc_thread = NULL;
|
||||
}
|
||||
spin_unlock_irq(&ha->dpc_lock);
|
||||
|
||||
if (t != NULL)
|
||||
kthread_stop(t);
|
||||
if (t != NULL)
|
||||
kthread_stop(t);
|
||||
}
|
||||
|
||||
|
||||
@@ -3058,8 +3058,8 @@ qla2x00_remove_one(struct pci_dev *pdev)
|
||||
ha->wq = NULL;
|
||||
}
|
||||
|
||||
/* Necessary to prevent races with it */
|
||||
qla2x00_stop_dpc_thread(ha);
|
||||
/* Necessary to prevent races with it */
|
||||
qla2x00_stop_dpc_thread(ha);
|
||||
|
||||
qla2x00_free_sysfs_attr(base_vha);
|
||||
|
||||
|
||||
+1
-1
@@ -3008,7 +3008,7 @@ qla24xx_read_fcp_prio_cfg(scsi_qla_host_t *vha)
|
||||
ha->fcp_prio_cfg = vmalloc(FCP_PRIO_CFG_SIZE);
|
||||
if (!ha->fcp_prio_cfg) {
|
||||
ql_log(ql_log_warn, vha, 0x00d5,
|
||||
"Unable to allocate memory for fcp priorty data (%x).\n",
|
||||
"Unable to allocate memory for fcp priority data (%x).\n",
|
||||
FCP_PRIO_CFG_SIZE);
|
||||
return QLA_FUNCTION_FAILED;
|
||||
}
|
||||
|
||||
@@ -391,10 +391,10 @@ enum umh_wait {
|
||||
/* <linux/kref.h> */
|
||||
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 8, 0) && \
|
||||
! (LINUX_VERSION_CODE >> 8 == KERNEL_VERSION(3, 4, 0) >> 8 && \
|
||||
LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 41)) && \
|
||||
! (LINUX_VERSION_CODE >> 8 == KERNEL_VERSION(3, 2, 0) >> 8 && \
|
||||
LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 44)) && \
|
||||
!(LINUX_VERSION_CODE >> 8 == KERNEL_VERSION(3, 4, 0) >> 8 && \
|
||||
LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 41)) && \
|
||||
!(LINUX_VERSION_CODE >> 8 == KERNEL_VERSION(3, 2, 0) >> 8 && \
|
||||
LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 44)) && \
|
||||
(!defined(CONFIG_SUSE_KERNEL) || \
|
||||
LINUX_VERSION_CODE < KERNEL_VERSION(3, 0, 101)) && \
|
||||
(!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 6 || \
|
||||
|
||||
Reference in New Issue
Block a user