All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Garry <john.garry@huawei.com>
To: Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	<linux-scsi@vger.kernel.org>,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	Xiang Chen <chenxiang66@hisilicon.com>,
	"Jason Yan" <yanaijie@huawei.com>,
	Luo Jiaxing <luojiaxing@huawei.com>
Subject: Re: [PATCH v2 21/24] scsi: pm8001: Fix pm8001_task_exec()
Date: Fri, 11 Feb 2022 12:51:02 +0000	[thread overview]
Message-ID: <84d4c573-661a-39d5-f639-a3eb9ba8c0ee@huawei.com> (raw)
In-Reply-To: <20220211073704.963993-22-damien.lemoal@opensource.wdc.com>

On 11/02/2022 07:37, Damien Le Moal wrote:

Hi Damien,

> The n_elem local variable in pm8001_task_exec() is initialized to 0 and
> changed set to the number of DMA scatter elements for a needed for a
> task command only for ATA commands and for SAS commands that have a
> non-zero number of sg segments. n_elem is never initialized to 0 for SAS

Do you mean re-initialized?

I thought the current code was ok, as we init n_elem = 0 and we only 
ever loop once. Am I missing something?

Thanks,
john

> commands that do not no sg segments, potentially leading to an incorrect
> value of n_elem being used for a task. Add the missing 0 initialization.
> 
> Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
> ---
>   drivers/scsi/pm8001/pm8001_sas.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/pm8001/pm8001_sas.c b/drivers/scsi/pm8001/pm8001_sas.c
> index 7b749da82a61..8cd7e7837f41 100644
> --- a/drivers/scsi/pm8001/pm8001_sas.c
> +++ b/drivers/scsi/pm8001/pm8001_sas.c
> @@ -383,7 +383,7 @@ static int pm8001_task_exec(struct sas_task *task,
>   	struct sas_task *t = task;
>   	struct task_status_struct *ts = &t->task_status;
>   	struct pm8001_ccb_info *ccb;
> -	u32 tag = 0xdeadbeef, rc = 0, n_elem = 0;
> +	u32 tag = 0xdeadbeef, rc = 0, n_elem;
>   	unsigned long flags = 0;
>   	enum sas_protocol task_proto = t->task_proto;
>   
> @@ -440,6 +440,8 @@ static int pm8001_task_exec(struct sas_task *task,
>   					rc = -ENOMEM;
>   					goto err_out_tag;
>   				}
> +			} else {
> +				n_elem = 0;
>   			}
>   		} else {
>   			n_elem = t->num_scatter;


  reply	other threads:[~2022-02-11 12:51 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-11  7:36 [PATCH v2 00/24] libsas and pm8001 fixes Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 01/24] scsi: libsas: fix sas_ata_qc_issue() handling of NCQ NON DATA commands Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 02/24] scsi: libsas: simplify sas_ata_qc_issue() detection of NCQ commands Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 03/24] scsi: libsas: Remove unnecessary initialization in sas_ata_qc_issue() Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 04/24] scsi: pm8001: fix __iomem pointer use in pm8001_phy_control() Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 05/24] scsi: pm8001: Remove local variable in pm8001_pci_resume() Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 06/24] scsi: pm8001: Fix pm8001_update_flash() local variable type Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 07/24] scsi: pm8001: Fix command initialization in pm80XX_send_read_log() Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 08/24] scsi: pm8001: Fix pm80xx_pci_mem_copy() interface Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 09/24] scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req() Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 10/24] scsi: pm8001: fix payload initialization in pm80xx_set_thermal_config() Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 11/24] scsi: pm8001: fix le32 values handling in pm80xx_set_sas_protocol_timer_config() Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 12/24] scsi: pm8001: fix payload initialization in pm80xx_encrypt_update() Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 13/24] scsi: pm8001: fix le32 values handling in pm80xx_chip_ssp_io_req() Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 14/24] scsi: pm8001: fix le32 values handling in pm80xx_chip_sata_req() Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 15/24] scsi: pm8001: fix use of struct set_phy_profile_req fields Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 16/24] scsi: pm8001: simplify pm8001_get_ncq_tag() Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 17/24] scsi: pm8001: fix NCQ NON DATA command task initialization Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 18/24] scsi: pm8001: fix NCQ NON DATA command completion handling Damien Le Moal
2022-02-11  7:36 ` [PATCH v2 19/24] scsi: pm8001: cleanup pm8001_queue_command() Damien Le Moal
2022-02-11  7:37 ` [PATCH v2 20/24] scsi: pm8001: fix abort all task initialization Damien Le Moal
2022-02-11  7:37 ` [PATCH v2 21/24] scsi: pm8001: Fix pm8001_task_exec() Damien Le Moal
2022-02-11 12:51   ` John Garry [this message]
2022-02-11 12:57     ` Damien Le Moal
2022-02-11 13:05       ` John Garry
2022-02-11 13:07         ` Damien Le Moal
2022-02-11  7:37 ` [PATCH v2 22/24] scsi: pm8001: Fix pm8001_tag_alloc() failures handling Damien Le Moal
2022-02-11  7:37 ` [PATCH v2 23/24] scsi: pm8001: Introduce ccb alloc/free helpers Damien Le Moal
2022-02-11 12:25   ` John Garry
2022-02-11 12:32     ` Damien Le Moal
2022-02-11  7:37 ` [PATCH v2 24/24] scsi: pm8001: simplify pm8001_mpi_build_cmd() interface Damien Le Moal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=84d4c573-661a-39d5-f639-a3eb9ba8c0ee@huawei.com \
    --to=john.garry@huawei.com \
    --cc=chenxiang66@hisilicon.com \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=luojiaxing@huawei.com \
    --cc=martin.petersen@oracle.com \
    --cc=yanaijie@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.