diff options
author | James Smart <james.smart@emulex.com> | 2011-12-13 13:22:17 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2011-12-15 01:57:44 -0500 |
commit | df9e1b59f9e4671930a7762b9518461df4ea85f5 (patch) | |
tree | b5e81d6b02f138cb272c7f9020828184dccdb966 /drivers/scsi/lpfc/lpfc_scsi.h | |
parent | cb69f7decc3777822b240c46890a209df288c7bb (diff) |
[SCSI] Lpfc 8.3.28: FC and SCSI Discovery Fixes
FC and SCSI Discovery Fixes:
- Clear the virtual fabrics bit (word 1 bit 30) when sending the FLOGI
and FDISC. (CR 124339)
- Return a MLQUEUE_DEVICE_BUSY if the driver detects that an I/O is being
retried too quickly (CR 124668)
- Remove NDLP reference put in lpfc_cmpl_els_logo_acc for all but fabric
nodes (CR 123924)
- Only retry FDISCs every second and stop retrying after devloss number
of retries (CR 13939)
- Check to see if vports are unloading before adding them to the vport
work array. (CR 124996)
- Fixed illegal state transition during driver unload (CR 124191)
- Added missing protection on setting/clearing of vport->fc_flag bit (CR 126002)
- Set NPIV flag in lpfc_mbx_process_link_up for all ports sli3 and
above. (CR 126094)
- Clear FCP command bytes that are not used. (CR 126209)
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_scsi.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_scsi.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/lpfc/lpfc_scsi.h b/drivers/scsi/lpfc/lpfc_scsi.h index ce645b20a6ad..9075a08cf781 100644 --- a/drivers/scsi/lpfc/lpfc_scsi.h +++ b/drivers/scsi/lpfc/lpfc_scsi.h | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <asm/byteorder.h> | 21 | #include <asm/byteorder.h> |
22 | 22 | ||
23 | struct lpfc_hba; | 23 | struct lpfc_hba; |
24 | #define LPFC_FCP_CDB_LEN 16 | ||
24 | 25 | ||
25 | #define list_remove_head(list, entry, type, member) \ | 26 | #define list_remove_head(list, entry, type, member) \ |
26 | do { \ | 27 | do { \ |
@@ -102,7 +103,7 @@ struct fcp_cmnd { | |||
102 | #define WRITE_DATA 0x01 /* Bit 0 */ | 103 | #define WRITE_DATA 0x01 /* Bit 0 */ |
103 | #define READ_DATA 0x02 /* Bit 1 */ | 104 | #define READ_DATA 0x02 /* Bit 1 */ |
104 | 105 | ||
105 | uint8_t fcpCdb[16]; /* SRB cdb field is copied here */ | 106 | uint8_t fcpCdb[LPFC_FCP_CDB_LEN]; /* SRB cdb field is copied here */ |
106 | uint32_t fcpDl; /* Total transfer length */ | 107 | uint32_t fcpDl; /* Total transfer length */ |
107 | 108 | ||
108 | }; | 109 | }; |
@@ -153,5 +154,5 @@ struct lpfc_scsi_buf { | |||
153 | 154 | ||
154 | #define LPFC_SCSI_DMA_EXT_SIZE 264 | 155 | #define LPFC_SCSI_DMA_EXT_SIZE 264 |
155 | #define LPFC_BPL_SIZE 1024 | 156 | #define LPFC_BPL_SIZE 1024 |
156 | 157 | #define LPFC_RETRY_PAUSE 300 | |
157 | #define MDAC_DIRECT_CMD 0x22 | 158 | #define MDAC_DIRECT_CMD 0x22 |