[Acked] [PATCH Utopic SRU] ipr: don't log error messages when applications issues illegal requests

Andy Whitcroft apw at canonical.com
Thu Nov 20 10:45:36 UTC 2014


On Wed, Nov 19, 2014 at 06:04:38PM -0600, tim.gardner at canonical.com wrote:
> From: "wenxiong at linux.vnet.ibm.com" <wenxiong at linux.vnet.ibm.com>
> 
> BugLink: http://bugs.launchpad.net/bugs/1392152
> 
> Failing Device information are logged when IOA firmware detected these
> illegal request such as IOA firmware doesn't support inquiry with page
> code 2. The patch fixes the issue.
> 
> Signed-off-by: Brian King <brking at linux.vnet.ibm.com>
> Tested-by: Wen Xiong <wenxiong at linux.vnet.ibm.com>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> (cherry picked from commit 3185ea63907cb281cfdc5aa29aa2d855826ad16a)
> Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
> ---
>  drivers/scsi/ipr.c | 10 ++++++++++
>  drivers/scsi/ipr.h |  1 +
>  2 files changed, 11 insertions(+)
> 
> diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
> index 924b0ba..2a9578c 100644
> --- a/drivers/scsi/ipr.c
> +++ b/drivers/scsi/ipr.c
> @@ -2440,6 +2440,7 @@ static void ipr_handle_log_data(struct ipr_ioa_cfg *ioa_cfg,
>  {
>  	u32 ioasc;
>  	int error_index;
> +	struct ipr_hostrcb_type_21_error *error;
>  
>  	if (hostrcb->hcam.notify_type != IPR_HOST_RCB_NOTIF_TYPE_ERROR_LOG_ENTRY)
>  		return;
> @@ -2464,6 +2465,15 @@ static void ipr_handle_log_data(struct ipr_ioa_cfg *ioa_cfg,
>  	if (!ipr_error_table[error_index].log_hcam)
>  		return;
>  
> +	if (ioasc == IPR_IOASC_HW_CMD_FAILED &&
> +	    hostrcb->hcam.overlay_id == IPR_HOST_RCB_OVERLAY_ID_21) {
> +		error = &hostrcb->hcam.u.error64.u.type_21_error;
> +
> +		if (((be32_to_cpu(error->sense_data[0]) & 0x0000ff00) >> 8) == ILLEGAL_REQUEST &&
> +			ioa_cfg->log_level <= IPR_DEFAULT_LOG_LEVEL)
> +				return;
> +	}
> +
>  	ipr_hcam_err(hostrcb, "%s\n", ipr_error_table[error_index].error);
>  
>  	/* Set indication we have logged an error */
> diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
> index 31ed126..8f8960d0 100644
> --- a/drivers/scsi/ipr.h
> +++ b/drivers/scsi/ipr.h
> @@ -130,6 +130,7 @@
>  #define IPR_IOASC_HW_DEV_BUS_STATUS			0x04448500
>  #define	IPR_IOASC_IOASC_MASK			0xFFFFFF00
>  #define	IPR_IOASC_SCSI_STATUS_MASK		0x000000FF
> +#define IPR_IOASC_HW_CMD_FAILEd			0x046E0000
>  #define IPR_IOASC_IR_INVALID_REQ_TYPE_OR_PKT	0x05240000
>  #define IPR_IOASC_IR_RESOURCE_HANDLE		0x05250000
>  #define IPR_IOASC_IR_NO_CMDS_TO_2ND_IOA		0x05258100


Looks simple enough, upstream cherry-pick:

Acked-by: Andy Whitcroft <apw at canonical.com>

-apw




More information about the kernel-team mailing list