From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:35004 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754152AbbEOJ4U (ORCPT ); Fri, 15 May 2015 05:56:20 -0400 Message-ID: <5555C2C1.2010804@redhat.com> Date: Fri, 15 May 2015 11:56:17 +0200 From: Tomas Henzl MIME-Version: 1.0 To: Sumit.Saxena@avagotech.com, linux-scsi@vger.kernel.org CC: stable@vger.kernel.org, martin.petersen@oracle.com, hch@infradead.org, jbottomley@parallels.com, kashyap.desai@avagotech.com Subject: Re: [PATCH] megaraid_sas : Modify return value of megasas_issue_blocked_cmd() and wait_and_poll() to consider command status returned by firmware References: <201505061333.t46DXdcM032441@palmhbs0.lsi.com> In-Reply-To: <201505061333.t46DXdcM032441@palmhbs0.lsi.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: On 05/06/2015 03:31 PM, Sumit.Saxena@avagotech.com wrote: > This patch is rebased on top of recently sent 18 patches(submitted by me) for megaraid_sas driver. > > Change the return value of wait_and_poll() and megsas_issue_blocked_cmd() based on MFI_STAT returned by firmware for that command. Earlier driver always > send return type based on command completion (but never check MFI_STAT_OK for that command), so even if command is failed by firmware still driver will > return SUCCESS status from these functions wait_and_poll() and megsas_issue_blocked_cmd() and if caller of these functions does not check command status > (MFI_STAT), then it may endup using invalid data returned in DMA buffers(one of the example is megasas_ld_list_query DCMD). Best thing to avoid this type > of issue is do error handling and set proper return type from caller function wait_and_poll() and megsas_issue_blocked_cmd(). > > The change proposed in this patch will fix the regression introduced in patch- "90dc9d9 megaraid_sas : MFI MPT linked list corruption fix" inside function > megasas_ld_list_query(). > Prior to this MFI MPT linked list corruption fix patch, megasas_ld_list_query() function used to check DCMD status(returned by firmware) but with > this linked list corruption fix patch, DCMD status will not be checked inside function megasas_ld_list_query() and introduced this issue of wrong data > being used by function megasas_ld_list_query(). > > Cc: > Signed-off-by: Kashyap Desai > Signed-off-by: Sumit Saxena This patch fixes an issue spotted on my test system. Thanks for posting. Reviewed-by: Tomas Henzl Tomas