]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
ata: libata-core: fix sloppy parameter type in ata_exec_internal[_sg]()
authorSergey Shtylyov <s.shtylyov@omp.ru>
Wed, 15 Jun 2022 19:38:21 +0000 (22:38 +0300)
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>
Sun, 19 Jun 2022 23:21:57 +0000 (08:21 +0900)
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...

Found by Linux Verification Center (linuxtesting.org) with the SVACE static
analysis tool.

Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
drivers/ata/libata-core.c
drivers/ata/libata.h

index 4658aa9bfdc2d8ab95fa98ba8c409dca5fb0593e..826d41f341e4afc05843ff8044fcc477cd862f54 100644 (file)
@@ -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");
index 1446a482835d1621defcb4087d34a7732136f34c..8292d4cdc22b252f67e90c8d5d9611b7a44b338d 100644 (file)
@@ -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,