pm80xx: Handling Invalid SSP Response frame
The request has to be retried incase if the length of the SSP Response IU is invalid. Signed-off-by: Viswas G <Viswas.G@pmcs.com> Reviewed-by: Suresh Thiagarajan <Suresh.Thiagarajan@pmcs.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Jack Wang <jinpu.wang@profitbricks.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: James Bottomley <JBottomley@Odin.com>
This commit is contained in:
Родитель
8414cd8057
Коммит
27ecfa5e79
|
@ -1609,6 +1609,13 @@ mpi_ssp_completion(struct pm8001_hba_info *pm8001_ha , void *piomb)
|
|||
ts->stat = SAS_OPEN_REJECT;
|
||||
ts->open_rej_reason = SAS_OREJ_RSVD_RETRY;
|
||||
break;
|
||||
case IO_XFER_ERROR_INVALID_SSP_RSP_FRAME:
|
||||
PM8001_IO_DBG(pm8001_ha,
|
||||
pm8001_printk("IO_XFER_ERROR_INVALID_SSP_RSP_FRAME\n"));
|
||||
ts->resp = SAS_TASK_COMPLETE;
|
||||
ts->stat = SAS_OPEN_REJECT;
|
||||
ts->open_rej_reason = SAS_OREJ_RSVD_RETRY;
|
||||
break;
|
||||
case IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED:
|
||||
PM8001_IO_DBG(pm8001_ha,
|
||||
pm8001_printk("IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED\n"));
|
||||
|
|
|
@ -1175,7 +1175,7 @@ typedef struct SASProtocolTimerConfig SASProtocolTimerConfig_t;
|
|||
#define IO_XFER_ERROR_INTERNAL_CRC_ERROR 0x54
|
||||
#define MPI_IO_RQE_BUSY_FULL 0x55
|
||||
#define IO_XFER_ERR_EOB_DATA_OVERRUN 0x56
|
||||
#define IO_XFR_ERROR_INVALID_SSP_RSP_FRAME 0x57
|
||||
#define IO_XFER_ERROR_INVALID_SSP_RSP_FRAME 0x57
|
||||
#define IO_OPEN_CNX_ERROR_OPEN_PREEMPTED 0x58
|
||||
|
||||
#define MPI_ERR_IO_RESOURCE_UNAVAILABLE 0x1004
|
||||
|
|
Загрузка…
Ссылка в новой задаче