mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-04 04:06:26 +00:00
can: pch_can: pch_can_error(): initialize errc before using it
After commit3a5c7e4611
, the variable errc is accessed before being initialized, c.f. below W=2 warning: | In function 'pch_can_error', | inlined from 'pch_can_poll' at drivers/net/can/pch_can.c:739:4: | drivers/net/can/pch_can.c:501:29: warning: 'errc' may be used uninitialized [-Wmaybe-uninitialized] | 501 | cf->data[6] = errc & PCH_TEC; | | ^ | drivers/net/can/pch_can.c: In function 'pch_can_poll': | drivers/net/can/pch_can.c:484:13: note: 'errc' was declared here | 484 | u32 errc, lec; | | ^~~~ Moving errc initialization up solves this issue. Fixes:3a5c7e4611
("can: pch_can: do not report txerr and rxerr during bus-off") Reported-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Link: https://lore.kernel.org/all/20220721160032.9348-1-mailhol.vincent@wanadoo.fr Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
5588d62802
commit
9950f11211
@ -489,6 +489,7 @@ static void pch_can_error(struct net_device *ndev, u32 status)
|
||||
if (!skb)
|
||||
return;
|
||||
|
||||
errc = ioread32(&priv->regs->errc);
|
||||
if (status & PCH_BUS_OFF) {
|
||||
pch_can_set_tx_all(priv, 0);
|
||||
pch_can_set_rx_all(priv, 0);
|
||||
@ -502,7 +503,6 @@ static void pch_can_error(struct net_device *ndev, u32 status)
|
||||
cf->data[7] = (errc & PCH_REC) >> 8;
|
||||
}
|
||||
|
||||
errc = ioread32(&priv->regs->errc);
|
||||
/* Warning interrupt. */
|
||||
if (status & PCH_EWARN) {
|
||||
state = CAN_STATE_ERROR_WARNING;
|
||||
|
Loading…
Reference in New Issue
Block a user