[PATCH] usb: musb: Fix signed integer overflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Shifting 1 << 31 on a 32-bit int causes signed integer overflow, which
leads to undefined behavior.

Cast 1 to u32 before performing the shift, eliminating the
undefined behavior.

Signed-off-by: Siddarth Gundu <siddarthsgml@xxxxxxxxx>
---
 drivers/usb/musb/cppi_dma.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/musb/cppi_dma.h b/drivers/usb/musb/cppi_dma.h
index 3606be897cb2..33bf5f83f08d 100644
--- a/drivers/usb/musb/cppi_dma.h
+++ b/drivers/usb/musb/cppi_dma.h
@@ -38,7 +38,7 @@ struct cppi_rx_stateram {
 };
 
 /* hw_options bits in CPPI buffer descriptors */
-#define CPPI_SOP_SET	((u32)(1 << 31))
+#define CPPI_SOP_SET	((u32)1 << 31)
 #define CPPI_EOP_SET	((u32)(1 << 30))
 #define CPPI_OWN_SET	((u32)(1 << 29))	/* owned by cppi */
 #define CPPI_EOQ_MASK	((u32)(1 << 28))
@@ -48,7 +48,7 @@ struct cppi_rx_stateram {
 #define CPPI_RECV_PKTLEN_MASK 0xFFFF
 #define CPPI_BUFFER_LEN_MASK 0xFFFF
 
-#define CPPI_TEAR_READY ((u32)(1 << 31))
+#define CPPI_TEAR_READY ((u32)1 << 31)
 
 /* CPPI data structure definitions */
 
-- 
2.43.0





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux