ata: libata-eh: fix reset timeout type
authorSergey Shtylyov <s.shtylyov@omp.ru>
Sat, 29 Jul 2023 20:17:48 +0000 (23:17 +0300)
committerDamien Le Moal <dlemoal@kernel.org>
Wed, 2 Aug 2023 08:37:06 +0000 (17:37 +0900)
ata_eh_reset_timeouts[] stores 'unsigned long' timeouts in ms, while
ata_eh_reset() passes these values to ata_deadline() that takes just
'unsigned int timeout_msecs' parameter.  Change the reset timeout table
element's type to 'unsigned int' -- all timeouts fit into 'unsigned int'
but we have to change ULONG_MAX to UINT_MAX...

Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
drivers/ata/libata-eh.c

index 35e03679b0bfe77e26587865e0830477759b0994..0e2acca36c10dd2f888dfdac75c541b4b87dcc79 100644 (file)
@@ -78,12 +78,12 @@ enum {
  * are mostly for error handling, hotplug and those outlier devices that
  * take an exceptionally long time to recover from reset.
  */
-static const unsigned long ata_eh_reset_timeouts[] = {
+static const unsigned int ata_eh_reset_timeouts[] = {
        10000,  /* most drives spin up by 10sec */
        10000,  /* > 99% working drives spin up before 20sec */
        35000,  /* give > 30 secs of idleness for outlier devices */
         5000,  /* and sweet one last chance */
-       ULONG_MAX, /* > 1 min has elapsed, give up */
+       UINT_MAX, /* > 1 min has elapsed, give up */
 };
 
 static const unsigned int ata_eh_identify_timeouts[] = {
@@ -2575,7 +2575,7 @@ int ata_eh_reset(struct ata_link *link, int classify,
        /*
         * Prepare to reset
         */
-       while (ata_eh_reset_timeouts[max_tries] != ULONG_MAX)
+       while (ata_eh_reset_timeouts[max_tries] != UINT_MAX)
                max_tries++;
        if (link->flags & ATA_LFLAG_RST_ONCE)
                max_tries = 1;