mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 08:01:59 +00:00
mfd: sm501: Avoid implicit sign extension
Suspicious implicit sign extension where 'reg' (unsigned char) is promoted in reg << clksrc to int, then sign-extended to unsigned long. If reg << clksrc is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. Signed-off-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
parent
8a012ff9d8
commit
5f114ebcee
@ -514,9 +514,9 @@ unsigned long sm501_set_clock(struct device *dev,
|
||||
unsigned long mode = smc501_readl(sm->regs + SM501_POWER_MODE_CONTROL);
|
||||
unsigned long gate = smc501_readl(sm->regs + SM501_CURRENT_GATE);
|
||||
unsigned long clock = smc501_readl(sm->regs + SM501_CURRENT_CLOCK);
|
||||
unsigned char reg;
|
||||
unsigned int pll_reg = 0;
|
||||
unsigned long sm501_freq; /* the actual frequency achieved */
|
||||
u64 reg;
|
||||
|
||||
struct sm501_clock to;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user