iwl: fix debug printf format strings
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 6 Sep 2021 17:24:58 +0000 (10:24 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 6 Sep 2021 17:24:58 +0000 (10:24 -0700)
The variable 'package_size' is an unsigned long, and should be printed
out using '%lu', not '%zd' (that would be for a size_t).

Yes, on many architectures (including x86-64), 'size_t' is in fact the
same type as 'long', but that's a fairly random architecture definition,
and on some platforms 'size_t' is in fact 'int' rather than 'long'.

That is the case on traditional 32-bit x86.  Yes, both types are the
exact same 32-bit size, and it would all print out perfectly correctly,
but '%zd' ends up still being wrong.

And we can't make 'package_size' be a 'size_t', because we get the
actual value using efivar_entry_get() that takes a pointer to an
'unsigned long'.  So '%lu' it is.

This fixes two of the i386 allmodconfig build warnings (that is now an
error due to -Werror).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/net/wireless/intel/iwlwifi/fw/uefi.c

index a7c79d8..c875bf3 100644 (file)
@@ -49,14 +49,14 @@ void *iwl_uefi_get_pnvm(struct iwl_trans *trans, size_t *len)
        err = efivar_entry_get(pnvm_efivar, NULL, &package_size, data);
        if (err) {
                IWL_DEBUG_FW(trans,
-                            "PNVM UEFI variable not found %d (len %zd)\n",
+                            "PNVM UEFI variable not found %d (len %lu)\n",
                             err, package_size);
                kfree(data);
                data = ERR_PTR(err);
                goto out;
        }
 
-       IWL_DEBUG_FW(trans, "Read PNVM from UEFI with size %zd\n", package_size);
+       IWL_DEBUG_FW(trans, "Read PNVM from UEFI with size %lu\n", package_size);
        *len = package_size;
 
 out: