Skip to content

Commit a28d9e4

Browse files
Joe Carnucciomartinkpetersen
authored andcommitted
scsi: qla2xxx: Add support for multiple fwdump templates/segments
This patch adds multipe firmware dump template and segments support for ISP27XX/28XX. Signed-off-by: Joe Carnuccio <joe.carnuccio@cavium.com> Signed-off-by: Himanshu Madhani <hmadhani@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent f8f97b0 commit a28d9e4

File tree

7 files changed

+304
-223
lines changed

7 files changed

+304
-223
lines changed

drivers/scsi/qla2xxx/qla_bsg.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,7 @@ qla24xx_fcp_prio_cfg_valid(scsi_qla_host_t *vha,
8484
return 0;
8585
}
8686

87-
if (bcode[0] != 'H' || bcode[1] != 'Q' || bcode[2] != 'O' ||
88-
bcode[3] != 'S') {
87+
if (memcmp(bcode, "HQOS", 4)) {
8988
/* Invalid FCP priority data header*/
9089
ql_dbg(ql_dbg_user, vha, 0x7052,
9190
"Invalid FCP Priority data header. bcode=0x%x.\n",

drivers/scsi/qla2xxx/qla_def.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4030,9 +4030,11 @@ struct qla_hw_data {
40304030
uint8_t pep_version[3];
40314031

40324032
/* Firmware dump template */
4033-
void *fw_dump_template;
4034-
uint32_t fw_dump_template_len;
4035-
/* Firmware dump information. */
4033+
struct fwdt {
4034+
void *template;
4035+
ulong length;
4036+
ulong dump_size;
4037+
} fwdt[2];
40364038
struct qla2xxx_fw_dump *fw_dump;
40374039
uint32_t fw_dump_len;
40384040
bool fw_dumped;
@@ -4075,7 +4077,6 @@ struct qla_hw_data {
40754077
uint16_t product_id[4];
40764078

40774079
uint8_t model_number[16+1];
4078-
#define BINZERO "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
40794080
char model_desc[80];
40804081
uint8_t adapter_id[16+1];
40814082

drivers/scsi/qla2xxx/qla_gbl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,7 @@ extern void qla82xx_fw_dump(scsi_qla_host_t *, int);
611611
extern void qla8044_fw_dump(scsi_qla_host_t *, int);
612612

613613
extern void qla27xx_fwdump(scsi_qla_host_t *, int);
614-
extern ulong qla27xx_fwdt_calculate_dump_size(struct scsi_qla_host *);
614+
extern ulong qla27xx_fwdt_calculate_dump_size(struct scsi_qla_host *, void *);
615615
extern int qla27xx_fwdt_template_valid(void *);
616616
extern ulong qla27xx_fwdt_template_size(void *);
617617

0 commit comments

Comments
 (0)