public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] PCI/ASPM: Use 64-bit arithmetic instead of 32-bit
@ 2018-02-13 16:59 Gustavo A. R. Silva
  2018-02-13 18:29 ` Andy Shevchenko
  0 siblings, 1 reply; 5+ messages in thread
From: Gustavo A. R. Silva @ 2018-02-13 16:59 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: linux-pci, linux-kernel, Gustavo A. R. Silva

Add suffix ULL to constant 1000 in order to give the compiler complete
information about the proper arithmetic to use. Notice that this
constant is used in a context that expects an expression of type
u64 (64 bits, unsigned).

The expression threshold_us * 1000 is currently being evaluated
using 32-bit arithmetic.

Addresses-Coverity-ID: 1462501
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
---
 drivers/pci/pcie/aspm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 57feef2..684d326 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -322,7 +322,7 @@ static u32 calc_l1ss_pwron(struct pci_dev *pdev, u32 scale, u32 val)
 
 static void encode_l12_threshold(u32 threshold_us, u32 *scale, u32 *value)
 {
-	u64 threshold_ns = threshold_us * 1000;
+	u64 threshold_ns = threshold_us * 1000ULL;
 
 	/* See PCIe r3.1, sec 7.33.3 and sec 6.18 */
 	if (threshold_ns < 32) {
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-02-27 20:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-13 16:59 [PATCH] PCI/ASPM: Use 64-bit arithmetic instead of 32-bit Gustavo A. R. Silva
2018-02-13 18:29 ` Andy Shevchenko
2018-02-13 19:05   ` Gustavo A. R. Silva
2018-02-13 19:26     ` Andy Shevchenko
2018-02-27 20:26     ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox