forked from Minki/linux
[SCSI] lpfc 8.1.1: Miscellaneous Cleanups
Miscellaneous Cleanups: - Remove ProgType READ_REV mailbox command value check in lpfc_config_port_prep. - Convert simple printk to an lpfc_printf_log in queuecommand. - Modify lpfc_abort_handler message 0749 to display more accurate text and data. - Minor style cleanup: fix 3 long lines in lpfc_hw.h Signed-off-by: James Smart <James.Smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
0a21ef1e60
commit
1de933f35b
@ -266,9 +266,11 @@ struct lpfc_name {
|
|||||||
struct {
|
struct {
|
||||||
#ifdef __BIG_ENDIAN_BITFIELD
|
#ifdef __BIG_ENDIAN_BITFIELD
|
||||||
uint8_t nameType:4; /* FC Word 0, bit 28:31 */
|
uint8_t nameType:4; /* FC Word 0, bit 28:31 */
|
||||||
uint8_t IEEEextMsn:4; /* FC Word 0, bit 24:27, bit 8:11 of IEEE ext */
|
uint8_t IEEEextMsn:4; /* FC Word 0, bit 24:27, bit
|
||||||
|
8:11 of IEEE ext */
|
||||||
#else /* __LITTLE_ENDIAN_BITFIELD */
|
#else /* __LITTLE_ENDIAN_BITFIELD */
|
||||||
uint8_t IEEEextMsn:4; /* FC Word 0, bit 24:27, bit 8:11 of IEEE ext */
|
uint8_t IEEEextMsn:4; /* FC Word 0, bit 24:27, bit
|
||||||
|
8:11 of IEEE ext */
|
||||||
uint8_t nameType:4; /* FC Word 0, bit 28:31 */
|
uint8_t nameType:4; /* FC Word 0, bit 28:31 */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -278,7 +280,8 @@ struct lpfc_name {
|
|||||||
#define NAME_IP_TYPE 0x4 /* IP address */
|
#define NAME_IP_TYPE 0x4 /* IP address */
|
||||||
#define NAME_CCITT_TYPE 0xC
|
#define NAME_CCITT_TYPE 0xC
|
||||||
#define NAME_CCITT_GR_TYPE 0xE
|
#define NAME_CCITT_GR_TYPE 0xE
|
||||||
uint8_t IEEEextLsb; /* FC Word 0, bit 16:23, IEEE extended Lsb */
|
uint8_t IEEEextLsb; /* FC Word 0, bit 16:23, IEEE
|
||||||
|
extended Lsb */
|
||||||
uint8_t IEEE[6]; /* FC IEEE address */
|
uint8_t IEEE[6]; /* FC IEEE address */
|
||||||
} s;
|
} s;
|
||||||
uint8_t wwn[8];
|
uint8_t wwn[8];
|
||||||
|
@ -126,34 +126,26 @@ lpfc_config_port_prep(struct lpfc_hba * phba)
|
|||||||
return -ERESTART;
|
return -ERESTART;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The HBA's current state is provided by the ProgType and rr fields.
|
/*
|
||||||
* Read and check the value of these fields before continuing to config
|
* The value of rr must be 1 since the driver set the cv field to 1.
|
||||||
* this port.
|
* This setting requires the FW to set all revision fields.
|
||||||
*/
|
*/
|
||||||
if (mb->un.varRdRev.rr == 0 || mb->un.varRdRev.un.b.ProgType != 2) {
|
if (mb->un.varRdRev.rr == 0) {
|
||||||
/* Old firmware */
|
|
||||||
vp->rev.rBit = 0;
|
vp->rev.rBit = 0;
|
||||||
lpfc_printf_log(phba,
|
lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
|
||||||
KERN_ERR,
|
"%d:0440 Adapter failed to init, READ_REV has "
|
||||||
LOG_INIT,
|
"missing revision information.\n",
|
||||||
"%d:0440 Adapter failed to init, mbxCmd x%x "
|
phba->brd_no);
|
||||||
"READ_REV detected outdated firmware"
|
|
||||||
"Data: x%x\n",
|
|
||||||
phba->brd_no,
|
|
||||||
mb->mbxCommand, 0);
|
|
||||||
mempool_free(pmb, phba->mbox_mem_pool);
|
mempool_free(pmb, phba->mbox_mem_pool);
|
||||||
return -ERESTART;
|
return -ERESTART;
|
||||||
} else {
|
|
||||||
vp->rev.rBit = 1;
|
|
||||||
vp->rev.sli1FwRev = mb->un.varRdRev.sli1FwRev;
|
|
||||||
memcpy(vp->rev.sli1FwName,
|
|
||||||
(char*)mb->un.varRdRev.sli1FwName, 16);
|
|
||||||
vp->rev.sli2FwRev = mb->un.varRdRev.sli2FwRev;
|
|
||||||
memcpy(vp->rev.sli2FwName,
|
|
||||||
(char *)mb->un.varRdRev.sli2FwName, 16);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save information as VPD data */
|
/* Save information as VPD data */
|
||||||
|
vp->rev.rBit = 1;
|
||||||
|
vp->rev.sli1FwRev = mb->un.varRdRev.sli1FwRev;
|
||||||
|
memcpy(vp->rev.sli1FwName, (char*) mb->un.varRdRev.sli1FwName, 16);
|
||||||
|
vp->rev.sli2FwRev = mb->un.varRdRev.sli2FwRev;
|
||||||
|
memcpy(vp->rev.sli2FwName, (char *) mb->un.varRdRev.sli2FwName, 16);
|
||||||
vp->rev.biuRev = mb->un.varRdRev.biuRev;
|
vp->rev.biuRev = mb->un.varRdRev.biuRev;
|
||||||
vp->rev.smRev = mb->un.varRdRev.smRev;
|
vp->rev.smRev = mb->un.varRdRev.smRev;
|
||||||
vp->rev.smFwRev = mb->un.varRdRev.un.smFwRev;
|
vp->rev.smFwRev = mb->un.varRdRev.un.smFwRev;
|
||||||
|
@ -721,8 +721,9 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *))
|
|||||||
}
|
}
|
||||||
lpfc_cmd = lpfc_sli_get_scsi_buf (phba);
|
lpfc_cmd = lpfc_sli_get_scsi_buf (phba);
|
||||||
if (lpfc_cmd == NULL) {
|
if (lpfc_cmd == NULL) {
|
||||||
printk(KERN_WARNING "%s: No buffer available - list empty, "
|
lpfc_printf_log(phba, KERN_INFO, LOG_FCP,
|
||||||
"total count %d\n", __FUNCTION__, phba->total_scsi_bufs);
|
"%d:0707 driver's buffer pool is empty, "
|
||||||
|
"IO busied\n", phba->brd_no);
|
||||||
goto out_host_busy;
|
goto out_host_busy;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -844,8 +845,8 @@ __lpfc_abort_handler(struct scsi_cmnd *cmnd)
|
|||||||
|
|
||||||
out:
|
out:
|
||||||
lpfc_printf_log(phba, KERN_WARNING, LOG_FCP,
|
lpfc_printf_log(phba, KERN_WARNING, LOG_FCP,
|
||||||
"%d:0749 SCSI layer issued abort device: ret %#x, "
|
"%d:0749 SCSI Layer I/O Abort Request "
|
||||||
"ID %d, LUN %d, snum %#lx\n",
|
"Status x%x ID %d LUN %d snum %#lx\n",
|
||||||
phba->brd_no, ret, cmnd->device->id,
|
phba->brd_no, ret, cmnd->device->id,
|
||||||
cmnd->device->lun, cmnd->serial_number);
|
cmnd->device->lun, cmnd->serial_number);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user