From: Damien Le Moal <damien.lemoal@opensource.wdc.com>
To: Sergey Shtylyov <s.shtylyov@omp.ru>, linux-ide@vger.kernel.org
Subject: Re: [PATCH v2 2/2] ata: libata-core: fix sloppy parameter type in ata_exec_internal[_sg]()
Date: Fri, 17 Jun 2022 16:44:42 +0900 [thread overview]
Message-ID: <849f65c3-007e-8f01-2412-e91b3fd6d254@opensource.wdc.com> (raw)
In-Reply-To: <20220615193821.9235-3-s.shtylyov@omp.ru>
On 6/16/22 04:38, Sergey Shtylyov wrote:
> Make the 'timeout' parameter to ata_exec_internal_sg() *unsigned int* as
> msecs_to_jiffies() that it calls takes just *unsigned int* for the time in
> milliseconds. Then follow the suit with ata_exec_internal(), its only
> caller; also fix up ata_dev_set_feature(), the only ata_exec_internal()'s
> caller that explicitly passes *unsigned long* variable for timeout...
Checking this, struct ata_eh_cmd_timeout_ent uses an unsigned long timeout
and ata_internal_cmd_timeout() returns an unsigned long which is stored
into the unsigned int timeout variable. So it may be good to add another
prep patch before this one to cleanup the auto_timeout stuff (struct
ata_eh_cmd_timeout_ent and ata_internal_cmd_timeout()).
Hmm ? Thoughts ?
>
> Found by Linux Verification Center (linuxtesting.org) with the SVACE static
> analysis tool.
>
> Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
> ---
> Changes in version 2:
> - rebased atop of the new patch #1.
>
> drivers/ata/libata-core.c | 6 +++---
> drivers/ata/libata.h | 2 +-
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 3cc1312a2622..03a08d1e666a 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -1470,7 +1470,7 @@ static void ata_qc_complete_internal(struct ata_queued_cmd *qc)
> static unsigned ata_exec_internal_sg(struct ata_device *dev,
> struct ata_taskfile *tf, const u8 *cdb,
> int dma_dir, struct scatterlist *sgl,
> - unsigned int n_elem, unsigned long timeout)
> + unsigned int n_elem, unsigned int timeout)
> {
> struct ata_link *link = dev->link;
> struct ata_port *ap = link->ap;
> @@ -1645,7 +1645,7 @@ static unsigned ata_exec_internal_sg(struct ata_device *dev,
> unsigned ata_exec_internal(struct ata_device *dev,
> struct ata_taskfile *tf, const u8 *cdb,
> int dma_dir, void *buf, unsigned int buflen,
> - unsigned long timeout)
> + unsigned int timeout)
> {
> struct scatterlist *psg = NULL, sg;
> unsigned int n_elem = 0;
> @@ -4342,7 +4342,7 @@ unsigned int ata_dev_set_feature(struct ata_device *dev, u8 enable, u8 feature)
> {
> struct ata_taskfile tf;
> unsigned int err_mask;
> - unsigned long timeout = 0;
> + unsigned int timeout = 0;
>
> /* set up set-features taskfile */
> ata_dev_dbg(dev, "set features - SATA features\n");
> diff --git a/drivers/ata/libata.h b/drivers/ata/libata.h
> index 1446a482835d..8292d4cdc22b 100644
> --- a/drivers/ata/libata.h
> +++ b/drivers/ata/libata.h
> @@ -52,7 +52,7 @@ extern u64 ata_tf_read_block(const struct ata_taskfile *tf,
> extern unsigned ata_exec_internal(struct ata_device *dev,
> struct ata_taskfile *tf, const u8 *cdb,
> int dma_dir, void *buf, unsigned int buflen,
> - unsigned long timeout);
> + unsigned int timeout);
> extern int ata_wait_ready(struct ata_link *link, unsigned long deadline,
> int (*check_ready)(struct ata_link *link));
> extern int ata_dev_read_id(struct ata_device *dev, unsigned int *p_class,
--
Damien Le Moal
Western Digital Research
next prev parent reply other threads:[~2022-06-17 7:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-15 19:38 [PATCH v2 0/2] Fix sloppy 'timeout' parameter type in libata-core.c Sergey Shtylyov
2022-06-15 19:38 ` [PATCH v2 1/2] ata: libata-core: make ata_exec_internal_sg() *static* Sergey Shtylyov
2022-06-17 7:48 ` Damien Le Moal
2022-06-15 19:38 ` [PATCH v2 2/2] ata: libata-core: fix sloppy parameter type in ata_exec_internal[_sg]() Sergey Shtylyov
2022-06-17 7:44 ` Damien Le Moal [this message]
2022-06-17 17:27 ` Sergey Shtylyov
2022-06-18 6:45 ` Damien Le Moal
2022-06-18 19:49 ` Sergey Shtylyov
2022-06-19 23:23 ` Damien Le Moal
2022-06-15 19:49 ` [PATCH v2 0/2] Fix sloppy 'timeout' parameter type in libata-core.c Sergey Shtylyov
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=849f65c3-007e-8f01-2412-e91b3fd6d254@opensource.wdc.com \
--to=damien.lemoal@opensource.wdc.com \
--cc=linux-ide@vger.kernel.org \
--cc=s.shtylyov@omp.ru \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox